Hi Jeff,

 

Not exactly an answer to your questions, but fwiw we recently ported to C# the 
current TLS and DTLS implementations from Java, both server and client side, 
and contributed them to the BC team. I expect they will be made public in the 
next few weeks. We also plan to give an occasional helping hand to BC on the C# 
side of things, especially transport-related stuff. Just fyi, so that you know 
that there is both interest and activity here.

 

Cheers,

Alexander

 

 

From: Jeff Stedfast [mailto:j...@xamarin.com] 
Sent: Friday 25 October 2013 05:26
To: Bouncy Castle Developer List
Subject: [dev-crypto-csharp] PGP/MIME, S/MIME and the future of Bouncy Castle 
for C#

 

Hello,

 

I've been lurking for the past 2 weeks or so and the list seems pretty quiet 
for the most part. I've also noticed that the github repository is more-or-less 
inactive and that makes me rather sad :-(

 

Who are the developers that are actively still hacking on the project?

 

What can be done to help?

 

Is development taking place on github? Or is it happening elsewhere?

 

I noticed that there is an outstanding bug filed for the C# version of 
BouncyCastle to implement S/MIME support that is apparently waiting on a 
javamail replacement on .NET.

 

If that is the case, then perhaps that is the best way that I can contribute to 
this project.

 

I've currently implemented a C# MIME library called MimeKit on GitHub: 
http://github.com/jstedfast/MimeKit

 

I have loads of experience writing MIME libraries/parsers spanning back more 
than a decade and have implemented PGP/MIME in Evolution and in my personal 
side-project, GMime (a MIME parser written in C). I also contributed to and/or 
wrote the S/MIME support in both of those products as well as implementing 
S/MIME support in MimeKit recently.

 

However, the problem I am now facing is that Mono's System.Security does not 
implement all of the CMS APIs and is missing some of the meat in the 
X509Certificate2 APIs as well, which is what has brought me to BouncyCastle. 
Presently, MimeKit's implementation of S/MIME only works on Windows, but I want 
it to work on Linux, Mac, iOS, and Android (for those using Xamarin.iOS and/or 
Xamarin.Android). Windows Phone 8 would also be nice, but I suspect that would 
be doable using Microsoft's APIs.

 

Since I'm also interested in adding PGP/MIME (rfc2015, 3156, and whatever the 
latest update to those specs are), I've been trying to find a nice and elegant 
way of doing that in C#. Sadly, C# APIs do not provide a nice way to do IPC 
with programs like gnupg, so my options are limited if I want portability... 
again leading me to BouncyCastle for the OpenPGP implementation.

 

 

I guess what I want to know is:

 

1. Would this be something the Bouncy Castle development team would be 
interested in?

 

2. Is the Bouncy Castle development team even still around in any real 
capacity? If the project is more-or-less dead, I'll probably just fork Bouncy 
Castle to make whatever modifications I need and continue on my way. If, at 
some later point, development starts back up again, they are free to use 
MimeKit (and I highly recommend that you do, because every other .NET MIME 
parser that exists currently is broken beyond repair).

 

3. JavaMail is more than just a MIME library. MimeKit is not. Is this a problem?

 

I am considering working on a "MailKit" library which would be built on top of 
MimeKit in order to add IMAP, POP, and SMTP support but I don't necessarily 
want to commit myself to doing that alone. I should also note that MimeKit and 
my plans for MailKit are not an identical API to JavaMail (I don't know if that 
matters or not), similar to an extent, but based more on a C library I had been 
working on before I threw my hands in the air and decided that even if I were 
to finish, I'd never want to write another mail client in C/C++. (This is what 
has led to the development of MimeKit which is loosely based on my GMime 
library).

 

 

Hoping to hear back,

 

Jeff

 

Reply via email to