Botan Crypto and TLS for D

Chris Desjardins via Digitalmars-d digitalmars-d at puremagic.com
Wed Mar 25 16:27:39 PDT 2015


On Wednesday, 18 February 2015 at 04:17:16 UTC, Rikki Cattermole 
wrote:
> On 18/02/2015 5:01 p.m., Etienne Cimon wrote:
>> On 2015-02-17 20:54, Rikki Cattermole wrote:
>>> On 18/02/2015 10:00 a.m., Etienne wrote:
>>>> I'd like to announce the first release of Botan, which 
>>>> implements all
>>>> features of v1.11.10 in the C++ library.
>>>>
>>>> I gave special attention to properly translating it to 
>>>> correct D code.
>>>>
>>>> It only runs with DMD master for now, only tested on Linux 
>>>> x86 or
>>>> x86_64, and it uses a custom allocator library called 
>>>> memutils which
>>>> must be placed in ../
>>>>
>>>> I'd also want to underline that Alexander Bothe from Mono-D 
>>>> put some
>>>> special attention to making sure the IDE runs smoothely with 
>>>> Botan.
>>>>
>>>> All tests are passing at the time of this writing (which is 
>>>> thousands of
>>>> tests for all algorithms, incl x509, pubkeys, tls and so on).
>>>>
>>>> I'll let the wiki/api docs/code talk for me, I'm off to 
>>>> writing an TLS
>>>> driver for vibe.d now
>>>>
>>>> Have fun!
>>>
>>> I'm quite excited by this.
>>> I do hope however that we get an ssh library now. Maybe git + 
>>> mercurial
>>> + svn as well.
>>> We could do so much with that!
>>
>>
>> It looks like this library (using Botan C++) could simply be 
>> translated
>> to D code:
>>
>> https://github.com/cdesjardins/ne7ssh
>>
>> The only problem I see is that it's licensed QPL. However, the
>> maintainer is missing and I think the library is simple enough 
>> to use it
>> as a guideline/reference (along with other RFCs and libraries) 
>> and
>> re-write an ssh library from scratch to get something new and 
>> original
>> out of it and possibly use a more open license
>
> I saw that, I was worried about the license as well.
> I'll ping Craig. Maybe there is still time for somebody to take 
> it on for GSOC?

Just wanted to chime in and say that I intended to take over 
development of ne7ssh, but after significant work I found that it 
had some serious problems that made it pretty useless as a 
general ssh client library. It was more geared toward automated 
testing (i.e. send a command to a remote host and wait for the 
response). As such I decided to use it as a rapid prototype for 
cppssh. Which I intend to use as a general purpose ssh2 client 
library. Anyways, the library still needs to be hardened, and I 
am not really going to start using it for anything until botan 
1.11 goes stable. But it works fairly well so far, and it is gpl.


https://github.com/cdesjardins/cppssh


More information about the Digitalmars-d mailing list