Vous êtes sur la page 1sur 5

Processus de Génération d'un

certificat SSL
Présentation
En Java, les certificats sont stockes dans des fichiers binaires, appelé des KeyStore.
Un keystore est une base de données des clés. Il existe différents types de magasins
de clés disponibles, les principaux etant " PKCS12" et "Sun JKS".

• SUN JKS : C'est le format par défaut des magasins de certificats Java.
• PKCS12 : Le PKCS # 12 (Personal Information Exchange Syntax Standard)
spécifie un format portable pour le stockage et/ou le transport des clés privées
d'un utilisateur, les certificats, les secrets divers, et d'autres articles. La JVM
offre une mise en œuvre complète du format PKCS12. Ce format est
également soutenue par d'autres toolkits, et les demandes d'importation et
d'exportation clés et des certificats, tel que Netscape / Mozilla, Internet
Explorer de Microsoft, et OpenSSL. Ces implémentations peuvent exporter
des certificats clients et les clés dans un fichier en utilisant l'extension ". P12"

Pour eviter à l'utilisateur d'avoir à accepter à chaque fois le certificat de l'applet, ou


de l'installer sur son poste, nous allons faire une demande de certificat à la sécurité
groupe. Le certificat fournit sera un certificat interne, valable uniquement sur les
navigateurs internets du Groupe (disposant du certificat Groupe).

Pour ce faire, il faut remplir la demande de certificat en fournissant un CSR (Certificat


Request) => Application / TXT pour le type de certificat.

Demande d'un certificat


Ceci est le processus officiel de génération de certificat. Cette méthode permet de
garantir la confidentialité de la clef privée.

1. Génération d'un couple de clef assymétrique et stockage dans un Keystore

Exemple de commande : keytool -genkey -alias keytarif -keystore <nom


du fichier>.jks -keysize 1024 -keyalg RSA

Enter keystore password: toto89


What is your first and last name?
[Unknown]: David N'DIAYE
What is the name of your organizational unit?
[Unknown]: AST / TAM /JEE
What is the name of your organization?
[Unknown]: BNP Paribas Personal Finance
What is the name of your City or Locality?
[Unknown]: Saint Ouen
What is the name of your State or Province?
[Unknown]: Ile de France
What is the two-letter country code for this unit?
[Unknown]: FR
Is <CN=David N'DIAYE, OU=AST / TAM / JEE, O=BNP Paribas
Personal Finance, L=Saint Ouen, ST=Ile de France, C=FR>
correct?
[no]: yes

Enter key password for <keytarif>


(RETURN if same as keystore password): keyTarifpwd

2. Vérification du contenu du keystore

Commande : keytool -list -keystore tarif.keystore -storepass


toto89

Type Keystore : JKS


Fournisseur Keystore : SUN

Votre Keystore contient 1 entrée(s)

keytarif, 7 mai 2010, PrivateKeyEntry,


Empreinte du certificat (MD5) :
6E:C6:5C:18:BE:06:65:F6:FD:CB:47:46:0D:42:A5:B2

3. Génération d'un CSR

CSR : Certificate Signing Request


Le CSR va nous permettre d'envoyer à l'autorité de certification notre demade de certificat associé à
notre clef publique.
keytool -certreq -alias keytarif -keypass keyTarifpwd -keystore
tarif.keystore -storepass toto89 -file tarif.csr
Contenu du fichier tarif.csr :

-----BEGIN NEW CERTIFICATE REQUEST-----


MIIChTCCAkMCAQAwgYAxCzAJBgNVBAYTAmZyMQ8wDQYDVQQIEwZGcmFuY2UxEz
ARBgNVBAcTClNh
aW50IE91ZW4xJTAjBgNVBAoTHEJOUCBQYXJpYmFzIFBlcnNvbmFsIEZpbmFuY2
UxDDAKBgNVBAsT
A1RFTzEWMBQGA1UEAxMNRGF2aWQgTidESUFZRTCCAbcwggEsBgcqhkjOOAQBMI
IBHwKBgQD9f1OB
HXUSKVLfSpwu7OTn9hG3UjzvRADDHj+AtlEmaUVdQCJR+1k9jVj6v8X1ujD2y5
tVbNeBO4AdNG/y
ZmC3a5lQpaSfn+gEexAiwk+7qdf+t8Yb+DtX58aophUPBPuD9tPFHsMCNVQTWh
aRMvZ1864rYdcq
7/IiAxmd0UgBxwIVAJdgUI8VIwvMspK5gqLrhAvwWBz1AoGBAPfhoIXWmz3ey7
yrXDa4V7l5lK+7
+jrqgvlXTAs9B4JnUVlXjrrUWU/mcQcQgYC0SRZxI+hMKBYTt88JMozIpuE8Fn
qLVHyNKOCjrh4r
s6Z1kW6jfwv6ITVi8ftiegEkO8yk8b6oUZCJqIPf4VrlnwaSi2ZegHtVJWQBTD
v+z0kqA4GEAAKB
gDCzcEAv5mZiaSNqPIQmdJn9FePh6UyToc3j4s46vp7TGl6YSiECqqMU07CN/v
fovTmnFdDeiplC
wS+V7LW7nBgZF180E5tVGVE7Uk+3/xtDFXOiWsBjst0sqUlRpZzqkaqEWZK6Af
JR2G/iPjhCQg8t
g+TvO7wrmf/nRBOta3pGoAAwCwYHKoZIzjgEAwUAAy8AMCwCFBx4gzze6RVJ5L
2P6SY9cFkFQhOA
AhRXFKPRxL+h0biUe+e9Zdexn9WQyw==
-----END NEW CERTIFICATE REQUEST-----

4. Envoi du CSR à l'autorité de certification.

Réception du certificat
Le certificat récupéré est un certificat Chainé, logiquement nous avons récupéré un
ensemble de ficheir *.cer, représentant le certificat demandé, et sa chaine de
certification jusqu'au certificat racine.

Il faut ajouter les certificats dans le magasin de certificat dans l'ordre, en


commençant par le certificat racine.

1. Import du certificat racine, dans notre cas le certificat Group

keytool -importcert -alias group -file <fichier .cer>


-trustcacerts -keystore <nom du fichier>.jks -storepass
<password>

Propriétaire : OU=applications, O=Group


Émetteur : O=Group
Numéro de série : 3c5ffe3b
Valide du : Wed Feb 06 11:29:07 MET 2002 au : Sun Feb 05
16:45:40 MET 2017
Empreintes du certificat :
MD5 : AB:84:B2:AA:DA:19:75:02:11:10:F1:AF:49:3E:EA:CC
SHA1 :
99:AA:BC:F3:53:9A:C2:B7:8E:66:2A:D3:07:BE:98:E8:49:1F:8D:18
Nom de lalgorithme de signature : {7}
Version : {8}

Extensions :
...
...
Faire confiance à ce certificat ? [non] : oui
Certificat ajouté au Keystore

2. Import des certificats intermédiaire

keytool -importcert -alias application -file <fichier .cer>


-keystore <nom du fichier>.jks -storepass <password>

Certificat ajouté au Keystore

3. Vérification du contenu du keystore

Commande : keytool -list -keystore <nom du fichier>.jks -storepass


<password>

Type Keystore : JKS


Fournisseur Keystore : SUN

Votre Keystore contient 3 entrée(s)

keytarif, 7 mai 2010, PrivateKeyEntry,


Empreinte du certificat (MD5) :
6E:C6:5C:18:BE:06:65:F6:FD:CB:47:46:0D:42:A5:B2
application, 7 mai 2010, trustedCertEntry,
Empreinte du certificat (MD5) :
AB:84:B2:AA:DA:19:75:02:11:10:F1:AF:49:3E:EA:CC
group, 7 mai 2010, trustedCertEntry,
Empreinte du certificat (MD5) :
FD:7E:6E:A6:13:C5:A8:FC:41:40:0C:CD:71:13:B8:F3

4. Import du certificat de l'application IntTarif

keytool -importcert -alias keytarif -file <fichier .cer>


-keystore tarif.keystore -storepass <password> -keypass
<password de la clef>

Certificate reply was installed in keystore

5. Check des certificats

keytool -list -keystore <nom du fichier>.jks -storepass


<password>

Type Keystore : JKS


Fournisseur Keystore : SUN

Votre Keystore contient 3 entrée(s)

keytarif, 7 mai 2010, keyEntry,


Empreinte du certificat (MD5) :
6E:C6:5C:18:BE:06:65:F6:FD:CB:47:46:0D:42:A5:B2
application, 7 mai 2010, trustedCertEntry,
Empreinte du certificat (MD5) :
AB:84:B2:AA:DA:19:75:02:11:10:F1:AF:49:3E:EA:CC
group, 7 mai 2010, trustedCertEntry,
Empreinte du certificat (MD5) :
FD:7E:6E:A6:13:C5:A8:FC:41:40:0C:CD:71:13:B8:F3

Outils
Un chouette outil pour manipuler les magasins de certificats : le portecle (Projet
SourceForge)

dernière mise à jour :