Sure, tomorrow though.
My kids don't give me much time to think on computer stuff here at home. ;)

In message <[EMAIL PROTECTED]>, Xie Grace Jingru-LJX001 writes:
>Thanks Chong Peng! It worked.
>
>The only thing I had to change was to pass in parameters in the following 
>function calls.
>
>Instead of:
>PEM_read_bio_x509(bio, NULL, NULL, NULL);
>PEM_read_bio_PrivateKey(bio, NULL, NULL, NULL)
>
>I did:
>PEM_read_bio_x509(bio, NULL, ctx->default_passwd_callback, 
>ctx->default_passwd_callback_userdata);
>PEM_read_bio_PrivateKey(bio, NULL, ctx->default_passwd_callback, 
>ctx->default_passwd_callback_userdata);
>
>
>Thanks,
>-Grace
>-----Original Message-----
>From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Chong Peng
>Sent: Thursday, February 09, 2006 5:36 PM
>To: openssl-users@openssl.org
>Subject: RE: Hard-coded keys and cert in the image
>
>
>forget one thing, after you have the private key (of type EVP_PKEY) and 
>certificate (of type X509, you use:
>
>SSL_CTX_use_certificate(ctx,cert) and SSL_CTX_use_PrivateKey(ctx, pkey) 
>
>to read them into your ssl context.
>
>-----Original Message-----
>From: Chong Peng 
>Sent: Thursday, February 09, 2006 5:25 PM
>To: openssl-users@openssl.org
>Subject: RE: Hard-coded keys and cert in the image
>
>
>grace:
>
>i believe what your are trying to do is what i did a few days ago. here is how 
>you do it:
>
>1. obtain the private key and certificate in "pem" format, e.g., by using the 
>following openssl command:
>
>$ openssl genrsa -out key.pem 1024
>$ openssl req -new -key key.pem -out request.pem
>$ openssl x509 -req -days 30 -in request.pem -signkey key.pem -out 
>certificate.pem $ openssl x509 -inform der -in certificate.crt -out 
>certificate.
pem
>
>this will give you a self signed private key and certificate (in pem format).
>
>2. open the pem files (e.g., key.pem and certificate.pem) in a text editor, 
>copy and paste the the key and certificate to a c array.
>
>3. your c code is going to look like the following:
>
>#include "buffer.h"
>#include "pem.h"
>#include "evp.h"
>#include "bio.h"
>#include "x509.h"
>
>EVP_PKEY       *pkey = NULL;
>X509           *cert = NULL;
>
>const char skey[] = 
>"-----BEGIN RSA PRIVATE KEY----- 
>MIICXAIBAAKBgQC0SF/4JTo3XzffsPeNPbglZ6sz/f/mlUO/CUtB8hk0DTz3V/9r
>iWagrVHjqaF/xikWFsxbzKecRyDDNyhgMWV8eeAVGpJSvmyJZH43MWO1zCiBXsi2
>MSHqQAJOfT803qTc3tPCb5k4UK5ytvwpQ8ZIyokrnQJS0FYKsonf3ASjKwIDAQAB
>AoGAMR3Sv6lsze8sKs5s81cQV2iCFT0rPegGuAJRNZs+0JaWuJCJ7wNVKYtu1wa9
>EDGtue3mKVB9ja83NthNML/kdOszLc1G6NVnWYSzgBPPsyPAJkSZw8TQKODmw+LF
>sqGFjC73s49/lWO12Tv8qA0Zf4sXRY9dMiqX5kA5m8OWXfECQQDYkv2B1xfNK41v
>PPeggVapasX53ZIiOdjc5UuaOWU7GDLhlyyFUCkDdx4eviBAEclWfNSueJNcK1Me
>pulScGFTAkEA1RoXxsYgFVbZsK1i9hjxEqoWzP7dQBJTWqi/77BaPQvqX12ctVk0
>pa0sR4XEKxGOBr11XJVlloTjpmm1hwLDyQJBAM25o1IpLhTZIDrgoSE4e0fngzQ9
>A0m7xYLf1RclGkIuVHbykXn5kVwXVOdDF4OE4cpkPeuV4fUVuplNWCnVUr0CQBWR
>a4ChwtOGE8hO9ComQhf6gQ5EaU43zJnrZGm09p0hHJqEVf0Ax1RRX57pif4166MA
>/+Tb9gky7/uCzW2ZuQkCQFUoAhZnV9sQoifQpkCE10J3fZNyNLEvHKU3b4/rwvn7
>5W618+Fr0DiwBkH07YSWRCVvi8rsYrK2/25DXSbXbD8=
>-----END RSA PRIVATE KEY-----";
>
>const char scert[] = 
>"-----BEGIN CERTIFICATE----- 
>MIICeTCCAeICCQDVIB2PKnpDmjANBgkqhkiG9w0BAQUFADCBgDELMAkGA1UEBhMC
>VVMxCzAJBgNVBAgTAkNBMRAwDgYDVQQHEwdTQU5KT1NFMQ8wDQYDVQQKEwZNQVhY
>QU4xDDAKBgNVBAsTA0VORzEOMAwGA1UEAxMFY2hvbmcxIzAhBgkqhkiG9w0BCQEW
>FGNob25ncGVuZ0BtYXh4YW4uY29tMB4XDTA1MTIyMTA0MDcxNloXDTA2MDEyMDA0
>MDcxNlowgYAxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEQMA4GA1UEBxMHU0FO
>Sk9TRTEPMA0GA1UEChMGTUFYWEFOMQwwCgYDVQQLEwNFTkcxDjAMBgNVBAMTBWNo
>b25nMSMwIQYJKoZIhvcNAQkBFhRjaG9uZ3BlbmdAbWF4eGFuLmNvbTCBnzANBgkq
>hkiG9w0BAQEFAAOBjQAwgYkCgYEAtEhf+CU6N18337D3jT24JWerM/3/5pVDvwlL
>QfIZNA0891f/a4lmoK1R46mhf8YpFhbMW8ynnEcgwzcoYDFlfHngFRqSUr5siWR+
>NzFjtcwogV7ItjEh6kACTn0/NN6k3N7Twm+ZOFCucrb8KUPGSMqJK50CUtBWCrKJ
>39wEoysCAwEAATANBgkqhkiG9w0BAQUFAAOBgQBX0jTsC73wXYHDhenL2piboCMQ
>qF96W/YLShYJla3ipc8JG0GHStTjUY4w7KGjDJippRUhddv0CUAilD7EPYusr1oY
>sk+Tt7QKCSLnued6NZwGnjIV78BmMi5gp5UEotgmPMk6Q6WKl0rVMbiJWqgy9f7b
>Hk3SUgTCdn/T+ajIFQ==
>-----END CERTIFICATE-----";
>
>
>int serverKey(void)
>{
>       BIO     *bio;
>
>       if( (bio=BIO_new_mem_buf((void *)skey, sizeof(skey))) == NULL)
>       {
>               return(-1);
>       }
>
>       if( (pkey=PEM_read_bio_PrivateKey(bio, NULL, NULL, NULL)) == NULL)
>       {
>               BIO_free(bio);
>               return(-1);
>       }
>
>       BIO_free(bio);
>
>       return(0);
>}
>
>int serverCert(void)
>{
>
>       BIO     *bio;
>
>       if( (bio=BIO_new_mem_buf((void *)scert, sizeof(scert))) == NULL)
>       {
>               return(-1);
>       }
>
>       if( (cert=PEM_read_bio_X509(bio, NULL, NULL, NULL)) == NULL)
>       {
>               BIO_free(bio);
>               return(-1);
>       }
>
>       BIO_free(bio);
>
>       return(0);
>
>}
>
>this piece of code worked in the embedded system i am working on, hope this 
>helps.
>
>chong peng
>
>-----Original Message-----
>From: Xie Grace Jingru-LJX001 [mailto:[EMAIL PROTECTED]
>Sent: Thursday, February 09, 2006 9:47 AM
>To: openssl-users@openssl.org
>Subject: Hard-coded keys and cert in the image
>
>
>
>Hello,
>
>If the privkey and cacert have to be hard-coded in the image (by using 
>#define), how can I tell SSL to look into these constants for the key and ce
rt instead of the default directory? Which SSL routine I need to change to let 
SSL know the new location of the key and certificate?
>
>All suggestions are appreciated...!
>
>Grace
>
>
>______________________________________________________________________
>OpenSSL Project                                 http://www.openssl.org
>User Support Mailing List                    openssl-users@openssl.org
>Automated List Manager                           [EMAIL PROTECTED]
>______________________________________________________________________
>OpenSSL Project                                 http://www.openssl.org
>User Support Mailing List                    openssl-users@openssl.org
>Automated List Manager                           [EMAIL PROTECTED]
>______________________________________________________________________
>OpenSSL Project                                 http://www.openssl.org
>User Support Mailing List                    openssl-users@openssl.org
>Automated List Manager                           [EMAIL PROTECTED]
>______________________________________________________________________
>OpenSSL Project                                 http://www.openssl.org
>User Support Mailing List                    openssl-users@openssl.org
>Automated List Manager                           [EMAIL PROTECTED]
>

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

Reply via email to