Le document pdf
La demande s’effectue auprès de Renater et c’est l’établissement hébergeur qui en fera la demande. Quand il la recevra, elle vous sera transmise. Lors de la demande, il faut fournir une personne référente dont les coordonnées seront dans la clé. Cela n’a pas d’incidence sur la procédure ensuite.
La clé est livrée en fichier .tar qui comprend 3 fichiers :
Les opérations suivantes ne sont à faire qu’une seule fois, à la réception de la clé, avant utilisation.
Les fichiers générés sont valables 3 ans.
Vérifier l’accès aux commandes : keytool, jarsigner qui sont dans les binaires de java. Modifier éventuellement la variable PATH.
(openssl x509 -noout -modulus -in cert-<xxx>.pem | openssl md5 ;openssl rsa -noout -modulus -in code-signing-<xxx>.key | openssl md5)⇒ affiche les 2 cles. Verifier si elles sont identiques ⇒ ok.
Ou
(openssl x509 -noout -modulus -in <fichier cert-xxx>.pem | openssl md5 ;openssl rsa -noout -modulus -in code-signing-<xxx>.key | openssl md5)| uniq
⇒ affiche une seule cle si ok ,sinon affiche les 2 (si differentes)
A faire dans le répertoire où sont les fichiers clés :
$> openssl pkcs12 -export -in cert-<xxx>.pem -out cert-<xxx>.p12 -name "Certificat" -inkey code-signing-<xxx>.key -certfile chain-<xxx>.pem
Cela va générer un fichier .p12 à l’aide des fichiers .chain et .key
Un mot de passe est demandé au moment de cette génération.
A noter puisqu'il sera demandé plus tard et au moment de la signature.
C'est ici aussi qu'est défini le nom de la clé qui sera utilisée plus tard pour la signature : “Certificat”
Le fichier.jks ne sera pas employé tel quel – cette procédure permet juste de générer un contenant.
$> keytool -genkey -alias Test -keystore <fichier>.jks
Il est demandé de donner un mot de passe pour le keystore. ( A noter aussi pour la suiute )
D'autres informations mais elles ne sont pas essentielles puisque le fichier généré ne sera pas employé en tant que tel.
Taper <Enter> jusqu'à la demande de confirmation :
Est-ce CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown ? [non]:
et taper <oui> (ou <Yes> suivant ce qui est demandé) pour confirmer.
A chaque opération suivante concernant le fichier keystore (.jks), son pwd sera demandé.
$> keytool -delete -alias Test -keystore <fichier>.jks
Pwd keystore avant que la commande s'exécute.
$> keytool -list -v -keystore <fichier>.jks
Pwd keystore avant que la commande s'exécute.
A ce moment-là, re-remplir le fichier keystore avec les informations officielles reçues ainsi que la clé.
$>keytool -v -importkeystore -srckeystore cert-<xxx>.p12 -srcstoretype PKCS12 -destkeystore <fichier>.jks -deststoretype JKS
Le pwd du keystore est demandé, puis celui de la clé (celui défini plus haut) et ensuite, génération du fichier .jks.
$> keytool -list -v -keystore <fichier>.jks
Pwd keystore.
RAPPEL: Ceci sont les étapes préliminaires avant la procédure de signature.
A ne faire qu'une seule fois à la reception des infos de signature.
La cle a une durée de vie de 3 ans.
NE PAS OUBLIER LES PWDs, keystore et clé. Sinon, regénérer.
> jarsigner -keystore <fichier>.jks <fichier>.jar Certificat
Demande le mot de passe du keystore, puis celui de la clé.
⇒ Génération du jar signé.
Pour qu’une application soit identifiée comme sécurisée, il faut signer tous les .jar utilisés, même ceux des librairies utilisées.