4D v16.3

GENERER DEMANDE CERTIFICAT

Accueil

 
4D v16.3
GENERER DEMANDE CERTIFICAT

GENERER DEMANDE CERTIFICAT 


 

GENERER DEMANDE CERTIFICAT ( cléPrivée ; demCertif ; tabCodes ; tabLibellés ) 
Paramètre Type   Description
cléPrivée  BLOB in BLOB contenant la clé privée
demCertif  BLOB in BLOB devant recevoir la demande de certificat
tabCodes  Tableau entier long in Liste des codes d’informations
tabLibellés  Tableau chaîne in Liste des libellés d’informations

La commande GENERER DEMANDE CERTIFICAT permet de générer une demande de certificat au format PKCS, directement exploitable par des autorités de certification telles que Verisign® ou Thawthe®. Le certificat est une pièce essentielle du fonctionnement du protocole SSL dans le cadre d’un serveur Web. Il est envoyé à chaque browser se connectant en mode SSL. Il contient la “carte d’identité” du site Web (reprenant les informations que vous saisissez dans la commande), ainsi que sa clé publique — permettant aux browsers de décrypter les informations reçues. En outre, le certificat contient diverses informations ajoutées par l’autorité de certification.

Note : Pour plus d’informations sur le fonctionnement du protocole SSL avec le serveur Web 4D, reportez-vous à la section Utiliser le protocole TLS.

La demande de certificat nécessite une paire de clés générée à l’aide de la commande GENERER CLES CRYPTAGE et contient diverses informations. C’est en combinant cette demande avec d’autres paramètres qui lui sont propres, que l’autorité de certification sera en mesure de générer un certificat.

Passez dans cléPrivée un BLOB contenant la clé privée générée avec la commande GENERER CLES CRYPTAGE.

Passez dans demCertif un BLOB vide. Après l’exécution de la commande, il contiendra la demande de certificat au format PKCS encodé en base64. Vous pouvez stocker directement ce contenu dans un fichier texte suffixé .pem, par exemple à l’aide de la commande BLOB VERS DOCUMENT, pour la faire parvenir à l’autorité de certification.

Important : La clé privée est utilisée pour générer la demande de certificat mais ne doit pas être envoyée à l’autorité de certification.

Vous devez remplir les tableaux tabCodes (de type entier long) et tabLibellés (de type alpha) avec, respectivement, les numéros de code et les libellés des informations destinées à l’autorité de certification.
Les codes et les libellés attendus peuvent varier en fonction de l’autorité de certification et du mode d’utilisation du certificat. Toutefois, dans le cadre d’une utilisation standard du certificat (connexions d’un serveur Web via SSL), les tableaux doivent contenir les éléments suivants :

Informations à fournirtabCodestabLibellés (Exemples)
CommonName : Nom du domaine 13www.4D.fr
CountryName : Code du pays (deux lettres)14FR
LocalityName : Ville15Clichy
StateOrProvinceName : Département, Etat...16Hauts de Seine
OrganizationName : Raison sociale174D
OrganizationUnit : Service/Personne en charge du serveur18Web Administrator

L’ordre dans lequel les codes et les informations sont insérés dans les tableaux n’a pas d’importance, en revanche les deux tableaux doivent être “synchronisés” : si l’élément {3} du tableau tabCodes contient la valeur 15 (nom de la ville), l’élément {3} du tableau tabLibellés doit contenir cette information, dans notre exemple Clichy.

Exemple  

Un formulaire “Demande de certificat” comporte les six champs nécessaires à l’établissement d’une demande de certificat standard. Le bouton Générer crée un document sur disque contenant la demande de certificat. Le document “Cléprivée.txt” contient la clé privée (générée à l’aide la commande GENERER CLES CRYPTAGE) doit déjà être présent sur le disque.

  // Méthode objet du bouton bGénérer
 C_BLOB($vbcléPrivée;$vbDemandeCert)
 C_ENTIER LONG($NumTable)
 TABLEAU ENTIER LONG($tLCodes;6)
 TABLEAU ALPHA(80;$tAInfos;6)
 
 $NumTable:=Table(Table du formulaire courant)
 Boucle($i;1;6)
    $tAInfos{$i}:=Champ($NumTable;$i)->
    $tLCodes{$i}:=$i+12
 Fin de boucle
 Si(Chercher dans tableau($tAInfos;"")#-1)
    ALERTE("Vous devez remplir tous les champs.")
 Sinon
    ALERTE("Sélectionnez votre clé privée.")
    $vhRefDoc:=Ouvrir document("")
    Si(OK=1)
       FERMER DOCUMENT($vhRefDoc)
       DOCUMENT VERS BLOB(Document;$vbcléPrivée)
       GENERER DEMANDE CERTIFICAT($vbcléPrivée;$vbDemandeCert;$tLCodes;$tAInfos)
       BLOB VERS DOCUMENT("Demande.txt";$vbDemandeCert)
    Sinon
       ALERTE("Clé privée invalide.")
    Fin de si
 Fin de si



Voir aussi  

GENERER CLES CRYPTAGE
Utiliser le protocole TLS

 
PROPRIÉTÉS 

Produit : 4D
Thème : Protocole sécurisé
Numéro : 691
Nom intl. : GENERATE CERTIFICATE REQUEST

 
HISTORIQUE 

Créé : 4D v6.7

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)