Services webmasters
Partenaires
Jeux concours gratuits
 
openssl_csr_new
<<<
openssl_csr_sign openssl_error_string
>>>

7.73 OpenSSL
7 Index des fonctions
 Manuel PHP

Introduction
Pré-requis
Installation
Configuration à l'exécution
Types de ressources
Constantes prédefinies
Paramètres clés/certificats
Vérification de certificats
openssl_csr_export_to_file
openssl_csr_export
openssl_csr_new
->openssl_csr_sign
openssl_error_string
openssl_free_key
openssl_get_privatekey
openssl_get_publickey
openssl_open
openssl_pkcs7_decrypt
openssl_pkcs7_encrypt
openssl_pkcs7_sign
openssl_pkcs7_verify
openssl_pkey_export_to_file
openssl_pkey_export
openssl_pkey_get_private
openssl_pkey_get_public
openssl_pkey_new
openssl_private_decrypt
openssl_private_encrypt
openssl_public_decrypt
openssl_public_encrypt
openssl_seal
openssl_sign
openssl_verify
openssl_x509_check_private_key
openssl_x509_checkpurpose
openssl_x509_export_to_file
openssl_x509_export
openssl_x509_free
openssl_x509_parse
openssl_x509_read

7.73.12 openssl_csr_sign()Signe un certificat avec un autre certificat

[ Exemples avec openssl_csr_sign ]   PHP 4 >= 4.2.0

resource  openssl_csr_sign ( mixed   csr , mixed   cacert , mixed   priv_key , int   days )

openssl_csr_sign génère un certificat x509 (une ressource) depuis la CSR csr , générée précédemment par openssl_csr_new , mais ce paramètre peut aussi être une CSR encodée au format PEM, et spécifiée avec file://path/to/csr ou une chaîne exportée par openssl_csr_export . Le certificat généré sera signé par le certificat cacert . Si cacert vaut NULL , le certificat généré sera auto-signé. priv_key est la clé privée qui correspond au certificat cacert . days spécifie la durée pour laquelle le certificat est valide, en nombre de jour.

openssl_csr_sign retourne une ressource de certificat x509 en cas de succès, et FALSE sinon.

Note

Vous devez installer un fichier openssl.cnf valide pour que cette fonction opère correctement. Voyez les notes dans la section installation pour plus d'informations.

Exemple avec openssl_csr_sign : signer une CSR (comment réaliser votre propre autorité de certification)

// Supposont que ce script est configuré pour recevoir des CSR qui ont
// été collé dans un champs textarea depuis une autre page
$csrdata = $_POST["CSR"];

// Nous allons signer la requête avec notre propre certificat, en tant
// qu'"autorité de certification". Vous pouvez utiliser n'importe quel
// certificat pour en signer un autre, mais le processus est inutile à moins
// que le certificat de signature n'ai la confiance des utilisateurs
// qui utiliseront le nouveau certificat signé.

// Nous avons besoin de notre certificat et de la clé privée
$cacert = "file://path/to/ca.crt";
$privkey = array("file://path/to/ca.key", "la_cle_secrete_de_votre_certificat");

$userscert = openssl_csr_sign($csrdata, $cacert, $privkey, 365);

// Affichons maintenant le certificat généré, ce façon à ce que l'utilisateur
// puisse le copier/coller dans leur configuration locale ( comme par exemple un
// fichier qui contient les certificats de leur serveur SSL)
openssl_x509_export($usercert, $certout) and echo $certout;

// Affiche toutes les erreurs survenues
while (($e = openssl_error_string()) !== false) {
    echo $e . "\n";
}

<< openssl_csr_sign >>
openssl_csr_new OpenSSL openssl_error_string
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -