configargs, req_extensions & x509_extensions [OPENSSL] - PHP - Programmation
Marsh Posté le 22-07-2005 à 10:13:30
bon je vais poser une autre question alors :
est-ce quelqu'un sait, dans la fonctions suivante :
bool openssl_csr_new ( array dn, resource privkey [, array configargs [, array extraattribs]])
quels paramètres utiliser pour configargs et extraatribs ??
Marsh Posté le 21-07-2005 à 16:51:50
petit détail : aucune erreur n'est générée, de quelque manière que ce soit.
j'arrive à générer tous type de certificat (auto-signé, intermédiaire, utilisateur...) malheureusement mes paramètre de configuration utilisés lors de la génération de la requête de signature et lors de la signature ne sont pas visibles sur mon certificat (ici $csrConfigArgs)
mon code : (résumé pour un utilisateur...)
$pkeyConfigArgs = array(
"digest_alg" => "sha1",
"private_key_bits" => 1024,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
"encrypt_key" => false
);
$privkey = openssl_pkey_new($pkeyConfigArgs);
$dn = array(
'emailAddress' => "adr",
'organizationName' => "org",
'localityName' => "locality",
'stateOrProvinceName' => "province",
'countryName' => "country",
);
$csrConfigArgs = array(
"subjectAltName" => "email:copy",
"basicConstraints" => "critical, CA:false",
"nsCertType" => "client, email",
"keyUsage" => "digitalSignature, nonRepudiation, keyEncipherment",
"extendedKeyUsage" => "clientAuth, emailProtection"
);
$csr = openssl_csr_new($dn, $privkey, $csrConfigArgs);
$cleCertificatSignataire = array('file://'.$repertoire.$nomAutorite.'.key', $passAutorite);
$sscert = openssl_csr_sign($csr, 'file://'.$repertoire.$nom.'.crt', $cleCertificatSignataire, $validite, $csrConfigArgs, $serial);
une fois généré, je regarde dans le certificat et dans le menu 'extensions uniquement', aucune n'est présente...
je sais qu'il existe une variable req_extensions pour la génération de la csr ainsi que x509_extensions pour la signature, mais je n'ai pas trouvé comment m'en servir...