From: bugzilla-daemon@bugs.ecos.sourceware.org
To: ecos-patches@ecos.sourceware.org
Subject: [Bug 1001962] New: Port of CyaSSL TLS library 2.9.0
Date: Fri, 28 Mar 2014 09:34:00 -0000 [thread overview]
Message-ID: <bug-1001962-104@http.bugs.ecos.sourceware.org/> (raw)
Please do not reply to this email, use the link below.
http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001962
Bug ID: 1001962
Summary: Port of CyaSSL TLS library 2.9.0
Product: eCos
Version: unknown
Target: All
Architecture/Host Other
OS:
Status: UNCONFIRMED
Severity: enhancement
Priority: low
Component: Patches and contributions
Assignee: unassigned@bugs.ecos.sourceware.org
Reporter: daniel.zebralla@arcor.de
CC: ecos-patches@ecos.sourceware.org
Created attachment 2493
--> http://bugs.ecos.sourceware.org/attachment.cgi?id=2493&action=edit
Port of CyaSSL 2.9.0 TLS library to eCos
I did a port of the CyaSSL TLS library [1] version 2.9.0 by WolfSSL to eCos.
The library itself is attached as "cyassl_ecos_port.zip".
The port was done using a Windows 7 system with an Cygwin 32-Bit environment.
The target system is a Freescale MPC5668G processor (PowerPC architecture).
What WAS tested:
* TLS 1.2 connections with ECC using adjusted example programs 'client' and
'server' with MCP5668 <-> MPC5668, MPC5668 <-> Laptop (CyaSSL client/server),
MPC5668 <-> Laptop (OpenSSL client/server)
* Test-suite (automatically tests SSL 3.0, TLS 1.0, TLS 1.1 and TLS 1.2 with
various Cipher-Suites by starting a separate server thread and connecting with
the test client), API-Tests, benchmark example
* Loading certificates from a mounted (JFFS2) filesystem
* Loading certificates from memory buffers
* OCSP
* fastmath library was used most of the time
* Blocking and non-blocking I/O (non-blocking realized via ioctl rather than
fcntl [2])
* Using FreeBSD stack as the network stack
What WAS NOT tested:
* 'echoclient' and 'echoserver' examples were never used and thus not adjusted
for usage on eCos
* Hardware acceleration
* NTRU, Rabbit
* Certificate generation
* CRLs
* Using OpenBSD as the network stack
As there were quite some test programs, I decided to put the tests into a
separate eCos application, attached as "cyassl_ecos_examples.zip".
I mostly could utilize the provided POSIX function calls because of the POSIX
abstraction layer in eCos. The port most definitely will NOT work without this!
As to some numbers I've taken:
* static TLS library size for my use case (IPv6-support, TLS1.2 with ECC,
OCSP): ~120 kBytes without optimization, ~75 kBytes with -Os
* stack usage (mostly the same as client or server): ~15 kBytes during TLS
handshake using a 28 kBytes stack. ~3 kBytes during communication on an
established TLS connection
* Dynamic memory consumption peaks at ~32 kBytes
Compiler optimization -O2 also greatly speeds up processing.
IANAL, so I wasn't sure whether I can simply include the eCos license header to
all files or the CyaSSL license header has to stay. CyaSSL is licensed under
GPLv2 or alternatively under a commercial license. I also sent this port back
to WolfSSL for cleanup and integration.
As I'm about to finish my work here, I will NOT be able to get my hands on a
MPC5668 again anytime soon.
[1] http://www.yassl.com/yaSSL/Products-cyassl.html
[2] http://cygwin.com/ml/ecos-discuss/2012-01/msg00051.html
Kind regards
- Daniel Zebralla
--
You are receiving this mail because:
You are on the CC list for the bug.
next reply other threads:[~2014-03-28 9:34 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-28 9:34 bugzilla-daemon [this message]
2014-03-28 9:36 ` [Bug 1001962] " bugzilla-daemon
2014-03-28 9:57 ` bugzilla-daemon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=bug-1001962-104@http.bugs.ecos.sourceware.org/ \
--to=bugzilla-daemon@bugs.ecos.sourceware.org \
--cc=ecos-patches@ecos.sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).