¿Cómo puedo establecer el propósito de un certificado X.509 en X509_PURPOSE_ANY en PHP 5.x?Cómo definir un propósito particular de un certificado X509 en PHP
Las siguientes salidas de código de esta advertencia:
Advertencia: openssl_csr_new() [function.openssl-CSR-new.php]: dn: X509_PURPOSE no es un nombre reconocido en/home/www/index. PHP en la línea 45
script PHP:
$Configs = array(
'config' => 'test.cnf',
'digest_alg' => 'sha1',
'x509_extensions' => 'v3_ca',
'req_extensions' => 'v3_req',
'private_key_bits' => 2048,
'private_key_type' => OPENSSL_KEYTYPE_RSA,
'encrypt_key' => true,
'encrypt_key_cipher' => OPENSSL_CIPHER_3DES);
$ExtraAttribs = array('X509_PURPOSE' => 'X509_PURPOSE_ANY');
//create cert
$dn = array('commonName' => 'Chief');
$privkey = openssl_pkey_new($Configs);
$csr = openssl_csr_new($dn, $privkey, $Configs, $ExtraAttribs);
La última línea es la línea 45.
¿Ha intentado descartar las comillas simples '' 'de la matriz' $ ExtraAttribs'? –
No funciona. Mensaje de error: "Uso de la constante no definida X509_PURPOSE - supone 'X509_PURPOSE'" – Mike
No puedo encontrar ninguna indicación de que los certificados X509 tengan un "propósito". Solo puedo encontrar "Restricciones básicas", "Uso de clave" y "Uso mejorado de clave", ¿puede hacerlo desde OpenSSL en la línea de comandos? – Martin