ID: 28671 Updated by: [EMAIL PROTECTED] Reported By: jgrillon at capgemini dot fr -Status: Open +Status: Assigned Bug Type: OpenSSL related Operating System: Linux 2.1 PHP Version: 4.3.7 -Assigned To: +Assigned To: wez New Comment:
Assigning to the maintainer, wez. Previous Comments: ------------------------------------------------------------------------ [2004-06-07 14:35:44] jgrillon at capgemini dot fr Description: ------------ I'm always getting "-1" as serialNumber for my certificate. I can't see why the serial number is stored into a long in openssl.c : add_assoc_long(return_value, "serialNumber", ASN1_INTEGER_get(X509_get_serialNumber(cert))); I guess the serial number is too big for a long... Can't we store it as string ? add_assoc_asn1_string(return_value, "serialNumberAsString", X509_get_serialNumber(cert)); Thanks. Here is the certificate I used : -----BEGIN CERTIFICATE----- MIIC3DCCAkWgAwIBAgIQeqhtj1pzHCrTTq2AldV0ejANBgkqhkiG9w0BAQQFADAy MRcwFQYDVQQKEw5FLUFDSEFUIE1JTkRFRjEXMBUGA1UEAxMORS1BQ0hBVCBNSU5E RUYwHhcNMDQwMTA1MDAwMDAwWhcNMDYwMTA0MjM1OTU5WjCB5DEOMAwGA1UEBxQF UEFSSVMxCzAJBgNVBAYTAkZSMRcwFQYDVQQKFA5FLUFDSEFUIE1JTkRFRjEtMCsG A1UECxQkRW50LiAtIENhcCBHZW1pbmkgRXJuc3QgWW91bmcgRnJhbmNlMR8wHQYD VQQLFBZTSVJFTiAtIDMyODc4MTc4NjAwMDUzMTQwMgYDVQQDEytDR0VZIEZyYW5j ZSAtIENhcCBHZW1pbmkgRXJuc3QgWW91bmcgRnJhbmNlMSYwJAYJKoZIhvcNAQkB FhdkZ2FlbWEtbWNvQGNhcGdlbWluaS5mcjCBnzANBgkqhkiG9w0BAQEFAAOBjQAw gYkCgYEApFgcuVTuUe0z+iGTaPw7yVxhZsPq6aIqGHsCvU9fqUcymbmg9l4oTfAk gR5bvDo+JTQb1/OPlQCKqyVa7wn6lPs97dMOZMobjCRcvw7z0jVphortA1NS8FRH 6LsWELZ13uC57IIakpW726Vz3tST9qHHbQoWbX/n8NjHcwL4zUECAwEAAaNAMD4w CQYDVR0TBAIwADALBgNVHQ8EBAMCBaAwEQYJYIZIAYb4QgEBBAQDAgeAMBEGCmCG SAGG+EUBBgkEAwEB/zANBgkqhkiG9w0BAQQFAAOBgQAWdmEu8TkFdgqA/xN6llo9 zZR3EUH0X5HstxJRYgofcQyfumJHhgvaNB8vkDhZ3iJORVVxcJ27W36TAJ6b4jcr yWjO/nc42XdgknS8r9NIV7VKzmjY7Ip2+9N6JOAWFkjGrnF1G69nrerIJavJTzrb PYlQnzJO6SHAoi5j6WsKPw== -----END CERTIFICATE----- Reproduce code: --------------- $fp = fopen("xxx.cer", "r"); $cert = fread($fp, 8192); $r = @openssl_x509_read($cert); print_r(openssl_x509_parse($r)); Expected result: ---------------- Something like [...] [serialNumber] => 7a a8 6d 8f 5a 73 1c 2a d3 4e ad 80 95 d5 74 7a [...] Actual result: -------------- [...] [serialNumber] => -1 [...] ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=28671&edit=1