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: '[email protected]'
Cc: '[email protected]'
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: '[email protected]'
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};