At 08:38 17.11.99 +0100, you wrote:
>X509_NAME_ENTRY *pX509NameEntry = NULL;
>X509_REQ *pRequest = X509_REQ_new();
>X509_NAME *pX509Name = X509_NAME_new();
>
>// Setup Country
>X509_NAME_ENTRY_create_by_NID(&pX509NameEntry, NID_countryName,
>V_ASN1_PRINTABLESTRING, (unsigned char *) "DK", 2);
>X509_NAME_add_entry(pX509Name, pX509NameEntry, 1, 1);
>X509_NAME_ENTRY_free(pX509NameEntry);
>
>// Setup Organisation
>X509_NAME_ENTRY_create_by_NID(&pX509NameEntry,
>NID_organizationName,V_ASN1_PRINTABLESTRING,(unsigned char *) "ACME", 4);
>
>   The call above cause an access violation. Why ???
>   If I set pX509NameEntry=NULL before I make the call I have no problems.

it causes access violation because you give
X509_NAME_ENTRY_create_by_NID() a pointer to an invalid X509_NAME_ENTRY.

pX509NameEntry must be NULL or must point to a valid X509_NAME_ENTRY.

you could do it:
1. 
   X509_NAME_ENTRY *pX509MameEntry = NULL;
   X509_NAME *pX509Name = X509_NAME_new();

   /* Setup Country */
   X509_NAME_ENTRY_create_by_NID(&pX509NameEntry, NID_countryName,
      V_ASN1_PRINTABLESTRING, (unsigned char *) "DK", 2);
   X509_NAME_add_entry(pX509Name, pX509NameEntry, 1, 1);

   X509_NAME_ENTRY_free(pX509NameEntry);
   pX509NameEntry = NULL;

   /* Setup Organisation */
   X509_NAME_ENTRY_create_by_NID(&pX509NameEntry,
      NID_organizationName,V_ASN1_PRINTABLESTRING,
      (unsigned char *) "ACME", 4);
2.
   X509_NAME_ENTRY *pX509MameEntry = NULL;
   X509_NAME *pX509Name = X509_NAME_new();

   /* Setup Country */
   X509_NAME_ENTRY_create_by_NID(&pX509NameEntry, NID_countryName,
      V_ASN1_PRINTABLESTRING, (unsigned char *) "DK", 2);
   X509_NAME_add_entry(pX509Name, pX509NameEntry, 1, 1);

   /* Setup Organisation */
   X509_NAME_ENTRY_create_by_NID(&pX509NameEntry,
      NID_organizationName,V_ASN1_PRINTABLESTRING,
      (unsigned char *) "ACME", 4);


Use the source, Luke... (crypto/x509/x509name.c)

By

Goetz

-- 
Goetz Babin-Ebell                      mailto:[EMAIL PROTECTED]
TC Trust Center for Security           http://www.trustcenter.de
in Data Networks GmbH                  Tel.: +49-40-80 80 26-0
Sonninstr. 24-28 / 20097 Hamburg / Germany  Fax.: +49-40-80 80 26-126
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to