openssl_csr_new

(PHP 4 >= 4.2.0, PHP 5)

openssl_csr_new ? Génère une CSR

Description

mixed openssl_csr_new ( array dn, resource &privkey [, array configargs [, array extraattribs]] )

openssl_csr_new() génère une nouvelle CSR (Certificate Signing Request, requête de signature de certificat), basée sur les informations fournies par dn, qui représente le nom unique (Distinguished Name) qui doit être utilisé pour ce certificat.

privkey doit être une clé privée qui a été générée par openssl_pkey_new() (ou obtenue autrement par l'une des fonctions de la famille openssl_pkey) La clé publique sera utilisée pour signer la CSR.

extraattribs est utilisé pour spécifier des options de configuration supplémentaires pour la CSR. Les deux paramètres dn et extraattribs sont des tableaux associatifs dont les clés sont converties en OIDs et appliquées aux parties appropriées de la requête.

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.

Par défaut, les informations du fichier openssl.conf de votre système sont utilisées pour initialiser la requête ; vous pouvez spécifier une section du fichier de configuration en utilisant l'index config_section_section du tableau configargs. Vous pouvez aussi spécifier une configuration OpenSSL alternative en utilisant l'index config, et en lui donnant la valeur du chemin à utiliser. Les index suivants, si fournis dans le paramètre configargs, se comportent comme leur équivalent du fichier openssl.conf, tel qu'indiqué ci-dessous.

Tableau 226. Adaptation des configurations

Index configargsTypeEquivalent openssl.confDescription
digest_algchaîne de caractèresdefault_mdSélectionne la méthode "digest" à utiliser
x509_extensionschaîne de caractèresx509_extensionsSélectionne quelles extensions doivent être utilisées lors de la création du certificat x509
req_extensionschaîne de caractèresreq_extensionsSélectionne quelles extensions doivent être utilisées lors de la création d'une CSR
private_key_bitsentierdefault_bitsSpécifie le nombre de bits à utiliser lors de la génération de la clé privée
private_key_typeentiernoneSpécifie le type de clé privée à générer. Cela peut être l'une des constantes suivantes : OPENSSL_KEYTYPE_DSA, OPENSSL_KEYTYPE_DH ou OPENSSL_KEYTYPE_RSA. La valeur par défaut est OPENSSL_KEYTYPE_RSA, ce qui est le seul type de clé actuellement supporté.
encrypt_keybooléenencrypt_keyDoit être une clé exportée (avec mot de passe) qui sera chiffrée?

Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec.

Exemple 1751. Exemple avec openssl_csr_new() - création d'un certificat auto chiffré

<?php
// Assigne les valeurs du nom distingué à utiliser avec le certificat
// Vous devez remplacer les valeurs suivantes pour qu'elles correspondent
// au nom de votre compagnie, ou, plus préciséement, le nom de la personne
// qui représente le site de votre compagnie pour qui vous générez des
// clés. Pour les certificats SSL, le commonName est généralement le nom de domaine
// pour lequel vous installez le certificat, mais pour les certificats
// le commonName sera le nom de la personne qui utilisera le certificat.
$dn = array(
   
"countryName" => "UK",
   
"stateOrProvinceName" => "Somerset",
   
"localityName" => "Glastonbury",
   
"organizationName" => "The Brain Room Limited",
   
"organizationalUnitName" => "PHP Documentation Team",
   
"commonName" => "Wez Furlong",
   
"emailAddress" => "wez@php.net"
);

// Génère les clés privée et publique
$privkey = openssl_pkey_new();

// Génère la requête de signature de certificat
$csr = openssl_csr_new($dn, $privkey);

// Vous souhaiterez généralement créer un certificat auto chiffré
// une fois que votre autorité de certification accède à votre requête
// Cette commande crée une certificat auto chiffré
$sscert = openssl_csr_sign($csr, null, $privkey, 365);

// Maintenant, vous voulez préserver la clé secrête, la CSR et le certificat
// auto chiffré, de façon à ce qu'ils puissent être installés sur votre
// serveur web, serveur mail ou client mail (suivant l'utilisation).
// Cet exemple vous montre comment placer ces éléments dans des variables
// mais vous pouvez aussi les mettre directement dans des fichiers.
// Typiquement, vous allez envoyer la CSR à votre autorité de certification
// qui vous émettra un "vrai" certificat.
openssl_csr_export($csr, $csrout) and var_dump($csrout);
openssl_x509_export($sscert, $certout) and var_dump($certout);
openssl_pkey_export($privkey, $pkeyout, "mypassword") and var_dump($pkeyout);

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



Rechercher une fonction PHP

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Références

  1. Consulter le document html Langue du document: fr Manuel PHP : http://be2.php.net, openssl_csr_new

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-11861
Document créé le 07/06/07 22:52, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http://www.gaudry.be/php-rf-function.openssl-csr-new.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,31 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Un ami, c'est quelqu'un qui vous connaît bien et qui vous aime quand même.

Hervé Lauwick
 
l'infobrol
Nous sommes le Dimanche 03 Juin 2012, 03:45, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)