Hi,

Thanks for the all the help.

I see the same error  when I am trying to create a x509 certificate using the 
DSA parameters g, p, q and public key y.
These parameters are generated by the GetPublicKey API in C#. All the above 
parameters are BYTE arrays.
Find the DSA parameters attached.

                ......
//
BN_bin2bn((const unsigned char *)uLicenseCheckG, sizeof(uLicenseCheckG), 
dsaParams->g);
      BN_bin2bn((const unsigned char *)uLicenseCheckP, sizeof(uLicenseCheckP), 
dsaParams->p);
      BN_bin2bn((const unsigned char *)uLicenseCheckQ, sizeof(uLicenseCheckQ), 
dsaParams->q);
      BN_bin2bn((const unsigned char *)uLicenseCheckY, sizeof(uLicenseCheckY), 
dsaParams->pub_key);

unsigned char *buff;
      int nLength;
      nLength = i2d_DSA_PUBKEY(dsaParams, &buff);

      X509 *x509Cert = X509_new();
      const unsigned char *p;
      p = buff;
      x509Cert = d2i_X509(NULL, &p, nLength); // Problem occurs here, x509Cert 
is NULL and the error is the same as before <--

      STACK_OF(X509) *st=sk_X509_new_null(); // I want to use this stack of 
x509 in CMS_verify
      sk_X509_push(st, x509Cert);

-Ujwal


From: Ujwal Chinthala
Sent: Wednesday, January 20, 2010 1:39 PM
To: 'st...@openssl.org'
Cc: 'openssl-users@openssl.org'
Subject: Re: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag

Hi Dr,

I already tried using :
openssl pkcs7 -inform DER -in pkcs7.p7

It gives me the same error, which are as follows

net\chint...@symdev1:~/Symphony/Dev/system/dl/sym-licensemanager$ openssl pkcs7 
-inform DER -in pkcs7.p7
unable to load PKCS7 object
11381:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong 
tag:tasn_dec.c:1306:
11381:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1 
error:tasn_dec.c:380:Type=PKCS7_ISSUER_AND_SERIAL
11381:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:tasn_dec.c:749:Field=issuer_and_serial, Type=PKCS7_SIGNER_INFO
11381:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:tasn_dec.c:710:Field=signer_info, Type=PKCS7_SIGNED
11381:error:0D08303A:asn1 encoding routines:ASN1_TEMPLATE_NOEXP_D2I:nested asn1 
error:tasn_dec.c:749:
11381:error:0D08403A:asn1 encoding routines:ASN1_TEMPLATE_EX_D2I:nested asn1 
error:tasn_dec.c:578:Field=d.sign, Type=PKCS7

Please find the binary file you requested attached.

Thanks,
-Ujwal


From: Ujwal Chinthala
Sent: Tuesday, January 19, 2010 4:41 PM
To: 'openssl-users@openssl.org'
Subject: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag

Hi,

I am new to OpenSSL.

I am trying to verify the compressed XML data, signed using PKCS#7. Then a four 
byte crc is appended to it and the whole data is now base64 encoded.
All the above is done using windows libraries. The verification works fine in 
windows.

Now I am trying to verify the above data(signed using windows libs) using 
OpenSSL.

The data is decoded from base64 to bytes, crc is verified. Then I try to use 
the command d2i_pkcs7 to create the PKCS7 structure which results in
the following error , error:0D0680A8:asn1 encoding 
routines:ASN1_CHECK_TLEN:wrong tag.

The code I am using to do this is as follows:

const unsigned char *q;
      q = (const unsigned char*)nBytes;
      PKCS7 *p7 = NULL; // I want to use this p7 structure in PKCS7_verify
      p7 = d2i_PKCS7(NULL, &q, nCountOfBytes);// error occurs here


where nBytes is a BYTE array storing the data. I don't have a clue what this 
error means, am I missing something here?

-Ujwal
const BYTE uLicenseCheckG[] = {0x18, 0x12, 0x67, 0x75, 0x17, 0x25, 0x6A, 0x8F, 
0x99, 0x2E, 0x89, 0x98, 0x09, 0x58, 0x0B, 0x9F, 0x1C, 0xE1, 0xAB, 0x80, 0x27, 
0xDD, 0xAF, 0x62, 0x3C, 0xD8, 0x51, 0x11, 0xC2, 0x9B, 0x3F, 0x05, 0x29, 0x9D, 
0x8F, 0x71, 0x47, 0xEC, 0x89, 0xBB, 0xBD, 0x21, 0x01, 0x96, 0xF2, 0x91, 0x7A, 
0x77, 0x65, 0x53, 0x8B, 0x0E, 0x8A, 0x59, 0x92, 0x5B, 0x46, 0x7F, 0x20, 0x52, 
0xC3, 0x10, 0x3A, 0xEC, 0xB9, 0x41, 0xCF, 0xB1, 0x6A, 0xB1, 0xBC, 0x76, 0xAD, 
0x63, 0xF3, 0x0B, 0x3C, 0xEE, 0x98, 0xD4, 0x98, 0x5A, 0x67, 0x44, 0xC4, 0x55, 
0x05, 0xCF, 0xEC, 0x40, 0x63, 0x01, 0xDB, 0x45, 0xDC, 0xC9, 0x61, 0x2D, 0x8C, 
0x5F, 0xDF, 0x17, 0x84, 0x36, 0x22, 0xA2, 0x47, 0x95, 0xBA, 0xB0, 0x62, 0xE8, 
0xB5, 0x99, 0x24, 0xF0, 0xBE, 0xFE, 0x90, 0x79, 0xDB, 0x95, 0xC7, 0x80, 0x0A, 
0xFB, 0xE9, 0x4F};
const BYTE uLicenseCheckP[] = {0xC5, 0xC4, 0xDA, 0x46, 0xBC, 0x50, 0x03, 0xAD, 
0x38, 0xFF, 0xE2, 0xB6, 0x29, 0x10, 0x00, 0x4F, 0x1D, 0x54, 0x51, 0xD9, 0xDA, 
0x21, 0x2D, 0x10, 0xCB, 0x09, 0x8B, 0xEE, 0x75, 0x18, 0xDA, 0x2B, 0x03, 0xEF, 
0x43, 0x73, 0x40, 0x17, 0x80, 0x8E, 0x33, 0x25, 0x27, 0xA0, 0x7D, 0xC5, 0x64, 
0x43, 0x78, 0xEA, 0x18, 0xD3, 0x1D, 0x41, 0x39, 0x15, 0x3F, 0xCE, 0xF6, 0x3A, 
0x39, 0x72, 0x69, 0x57, 0x15, 0x24, 0x43, 0x3A, 0x0C, 0x24, 0xF8, 0x0B, 0xE0, 
0xDD, 0x87, 0x22, 0x57, 0x64, 0xA5, 0x40, 0x8B, 0x44, 0x23, 0x64, 0x8A, 0xAB, 
0xA0, 0x88, 0xE6, 0x77, 0xA2, 0x96, 0x25, 0x85, 0x03, 0xB5, 0xF5, 0x3F, 0x43, 
0x79, 0x3A, 0x5A, 0x5B, 0xE0, 0x70, 0xA0, 0x93, 0x8B, 0x42, 0xC8, 0xC5, 0xA1, 
0x63, 0xA2, 0x23, 0x7F, 0x15, 0x32, 0x92, 0x47, 0xF5, 0xA2, 0x79, 0xF4, 0x4D, 
0x96, 0xFC, 0xF5};
const BYTE uLicenseCheckQ[] = {0x97, 0x9F, 0x58, 0xCB, 0xF9, 0x25, 0x20, 0x91, 
0x06, 0x50, 0x5C, 0x17, 0x16, 0xFD, 0x09, 0x73, 0x29, 0xE9, 0x66, 0xEF};
const BYTE uLicenseCheckY[] = {0x08, 0x31, 0x60, 0xE4, 0x5E, 0x0D, 0x5D, 0x43, 
0xFD, 0x2F, 0x26, 0x03, 0x26, 0x09, 0x5C, 0xC5, 0x64, 0x44, 0xF7, 0x77, 0x11, 
0x38, 0x95, 0x9E, 0x3A, 0xA7, 0x3A, 0xEE, 0x2C, 0xDA, 0x4C, 0x8F, 0x9E, 0xB9, 
0x4E, 0x5A, 0x47, 0x93, 0x12, 0x83, 0x30, 0x0F, 0x80, 0x0F, 0xC9, 0xDD, 0xC7, 
0x74, 0xE2, 0x70, 0xF1, 0x7E, 0xFE, 0xA9, 0x1B, 0x8C, 0x04, 0x42, 0xC6, 0x61, 
0xEF, 0x05, 0xA9, 0x57, 0x46, 0x96, 0x2C, 0xA9, 0xA4, 0xDC, 0x86, 0x21, 0x37, 
0xE8, 0x28, 0x96, 0x78, 0x26, 0xC8, 0xDD, 0x16, 0x5A, 0xAE, 0x26, 0x4D, 0xBB, 
0xF5, 0x48, 0xAE, 0x2F, 0x6C, 0x9C, 0x1B, 0x8E, 0xEB, 0x33, 0x6E, 0xF7, 0x51, 
0x10, 0xC3, 0x9D, 0xAE, 0xEC, 0x6C, 0x2C, 0x3F, 0x02, 0x0B, 0x2C, 0xC7, 0x38, 
0xEF, 0x67, 0xA5, 0x49, 0xBB, 0x8C, 0x5E, 0xC1, 0x94, 0x75, 0xE0, 0xC2, 0xB8, 
0x5B, 0xC5, 0x63};

Reply via email to