Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
java:signature_en_java [2014/01/28 14:18] Emmanuel Brunojava:signature_en_java [2023/09/20 18:52] (Version actuelle) – modification externe 127.0.0.1
Ligne 2: Ligne 2:
  
 ===== Keystore et keytool ===== ===== Keystore et keytool =====
- 
 Java gère les clés et les certificats dans des fichiers protégés appelés keystore. Java gère les clés et les certificats dans des fichiers protégés appelés keystore.
-Il existe une keystore par défaut qui contient les certificats de confiance :+Il existe un keystore par défaut qui contient les certificats de confiance :
   $JAVA_HOME/jre/lib/security/cacerts   $JAVA_HOME/jre/lib/security/cacerts
      
Ligne 13: Ligne 12:
  
 ===== Obtenir et utiliser un certificat X.509 ===== ===== Obtenir et utiliser un certificat X.509 =====
-Les personnels et étudiants des universités peuvent obtenir des certificats X.509 officiels ici : https://tcs-personal-portal.terena.org+Les personnels et étudiants des universités peuvent obtenir des certificats X.509 officiels ici : https://digicert.com/sso 
  
 <note warning> <note warning>
 A l'heure actuelle les certificats proposés ne contiennent pas l'attribut indiquant qu'ils peuvent servir à signer du code mais uniquement des emails. Cela provoque pour le moment un avertissement lors de l'utilisation. A l'heure actuelle les certificats proposés ne contiennent pas l'attribut indiquant qu'ils peuvent servir à signer du code mais uniquement des emails. Cela provoque pour le moment un avertissement lors de l'utilisation.
 </note> </note>
 +Le certificat obtenu peut être importé dans un keystore :
  
-Un fois un certificat obtenu et installé dans le navigateur, exporter le au format pkcs12 (.p12). +  keytool --import -file ... -keystore ... -alias ...
-Il est alors possible de l'importer dans un keystore :+
  
-<code> +Les valeurs des paramètres (...) sont à remplacer dans l'ordre par : le chemin vers le fichier contenant le certificat (ex. bruno_emmanuel.crt) le chemin vers le fichier qui contiendra le keystore (ex. ~/.keystore/test.keystore), l'alias qui sera associé au certificat dans le keystore (par exemple votre email certifié).
-  keytool -importkeystore \ +
-        -destkeystore ...  -deststorepass ...  -destkeypass ... \ +
-        -srckeystore ... -srcstoretype PKCS12 -srcstorepass ... \ +
-        -srcalias "id terena de ..." \ +
-        -destalias "..." +
-</code> +
- +
-Les valeurs des paramètres (...) sont à remplacer dans l'ordre par : le chemin vers le fichier qui contiendra le keystore (~/.keystore/test.keystore), le mot de passe du keystore, le mot de passe de la future clé dans le keystore, le chemin vers le fichier .p12 contenant le certificat, son mot de passe, l'alias utilisé pour ce certificat dans la source (à vérifier avec le viewer de certificat du navigateur), l'alias qui sera associé au certificat dans le keystore (par exemple votre email certifié).+
  
 ===== Utiliser un certificat auto-signé ===== ===== Utiliser un certificat auto-signé =====
 Une alternative est d'utiliser une certificat auto signé : Une alternative est d'utiliser une certificat auto signé :
  
-  keytool -dname "CN=DOE john, OU=dpt-info, O=UTLN, L=La Garde, ST=PACA, C=FR" -storepass password -keypass password -alias johnkey -genkeypair -keystore keystore+  keytool -dname "CN=DOE john, OU=dpt-info, O=UTLN, L=La Garde, ST=PACA, C=FR" -storepass password -keypass password -alias johnkey -genkeypair -keyalg EC -keysize 571 -keystore keystore.jks -validity 730
      
- 
 ===== Signature avec maven ===== ===== Signature avec maven =====
 Dans le ''~/.m2/settings.xml'' (donc propre à chaque utilisateur et non commun au projet), il est possible d'indiquer le chemin, l'alias et de mot de passe permettant d'accéder au certificat qui sera utilisé par maven.  Dans le ''~/.m2/settings.xml'' (donc propre à chaque utilisateur et non commun au projet), il est possible d'indiquer le chemin, l'alias et de mot de passe permettant d'accéder au certificat qui sera utilisé par maven. 
Ligne 91: Ligne 81:
  
 {{tag>maven Java signature X.509 keytool keystore}} {{tag>maven Java signature X.509 keytool keystore}}
 +
 +---- dataentry page ----
 +type                 : Howto
 +technologie_tags     : Java, X509, keytool, keystore
 +theme_tags           ; Signature
 +----