On Fri, Feb 03, 2006 at 02:54:38PM -0600, Alberto Alonso wrote:
> I would like to be able to hard code the key/cert in the
> application instead of having files.
> 
> Is there something similar to: SSL_CTX_use_PrivateKey_file
> and SSL_CTX_use_PrivateKey_file but that I can use pointers
> memory? 
> 
> If so, how do I convert the current files into that binary
> data format?
> 
> I would also like to have already in memory the cert chain
> for the root cert.
> 
> The goal is to distribute a single binary that doesn't depend
> on any external files that can verify that it is connecting
> to the right server.


SSL_CTX_use_PrivateKey_ASN1 takes a pointer to char* and a length.

Although, all that does is call d2i_PrivateKey and then
SSL_CTX_use_PrivateKey and error check everything... d2i_* takes a DER
encoded something and returns the internal version.

So you can, at compile time, build a small app which will read a
key/certificate/etc and use an i2d_* routine to DER encode it, dropping
that into a file. The file you run through a quick filter to turn into
a suitable include file making the binary data a character
array. ("od" may help doing this with the right options, or failing
that a quick perl script).

Then you can just use the pointer to that into d2i_PrivateKey then
SSL_CTX_use_PrivateKey at runtime.



______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to