JavaX509 : Création de certificats X509

Création en ligne de commande d’un certificat d’une AC ou un certificat signé par une AC

Description :

Ce projet a été développé pour fournir une API simple d’utilisation pour la création et la gestion des certificats X509. Il est possible de l’utiliser dans un conteneur de servlet ou l’utiliser directement en ligne de commande.

Ce projet est basé sur les API de « The Legion Of The Bouncy Castle (http://www.bouncycastle.org) »

Il est nécessaire de télécharger les librairies suivantes de Bouncy Castle (http://www.bouncycastle.org/latest_releases.html) pour que le projet fonctionne :

  • Provider
  • SMIME/CMS

Ces librairies sont à installer dans le répertoire \jre\lib\ext du JDK.

Il est aussi nécessaire de télécharger les Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files sur le site http://java.sun.com et de remplacer les fichiers suivants :

  • \jre\lib\security\local_policy.jar
  • \jre\lib\security\US_export_policy.jar

Téléchargements :

Utilisation en ligne de commande

Options pour créer une Autorité de certification (AC)

java -jar JavaX509.jar -cacert -help
usage: JavaX509 [-cacert] -alias alias [-duration default is 365] -outform DER|PEM|PKCS12|PKCS8
       [-keysize default is 1024] [-keypass password] -DN dn name [-help]
JavaX509
-DN <dn name>                     Certificate distinguish name
-alias <alias>                    Certificate alias, used also as file name prefix
-cacert                           Generate a self signed certificate
-duration <default is 365>        How long this certificate will be available
-help                             Print this message
-keypass <password>               Private key password
-keysize <default is 1024>        Certificate key pair size
-outform <DER|PEM|PKCS12|PKCS8>   If outform is PKCS12, then password must be provided

Options pour créer un certificat utilisateur

java -jar JavaX509.jar -usercert -help
usage: JavaX509 -cacertfile file name -alias alias -caprivatekey file name [-duration default is
       365] -outform DER|PEM|PKCS12|PKCS8 [-usercert] [-keysize default is 1024] [-keypass
       password] -DN dn name -cakeypass ca private key password [-comment info] [-help]
JavaX509
 -DN <dn name>                          Certificate distinguish name
 -alias <alias>                         Certificate alias, used also as file name prefix
 -cacertfile <file name>                CA certificate file name
 -cakeypass <ca private key password>   CA Private key password
 -caprivatekey <file name>              CA private key file name
 -comment <info>                        Netscape comment
 -duration <default is 365>             How long this certificate will be available
 -help                                  Print this message
 -keypass <password>                    Private key password
 -keysize <default is 1024>             Certificate key pair size
 -outform <DER|PEM|PKCS12|PKCS8>        If outform is PKCS12, then password must be provided
 -usercert                              Generate a certificate signed by an AC

Exemple de création d’une AC

java -jar JavaX509.jar -cacert -DN "cn=CA_DEMO,ou=Organizational CA,O=DEMO" -duration 1000 \
     -keypass demo -keysize 2048 -alias AC-DEMO -outform "PKCS12 PEM DER PKCS8"
Generating AC certificate...
04/04/2008  17:13             2 683 javaX509_ca_AC-DEMO.p12
04/04/2008  17:13               938 javaX509_ca_AC-DEMO_cert.der
04/04/2008  17:13             4 107 javaX509_ca_AC-DEMO_cert.pem
04/04/2008  17:13             1 262 javaX509_ca_AC-DEMO_priv.der
04/04/2008  17:13             1 779 javaX509_ca_AC-DEMO_priv.pem
04/04/2008  17:13             1 812 pkcs8javaX509_ca_AC-DEMO_priv.pem

Exemple de création d’un certificat utilisateur

java -jar JavaX509.jar  -usercert -DN "cn=DMAF,ou=people,O=DEMO" -alias DMAF -cacertfile \
./javaX509_ca_AC-DEMO_cert.der -cakeypass demo -caprivatekey ./javaX509_ca_AC-DEMO_priv.der \
-comment "DMD Cert" -duration 1000 -keysize 2048 -keypass DMAF -outform "PKCS12 PKCS8 DER
PKCS12_CA"
Generating AC certificate...
04/04/2008  18:29             2 709 javaX509_user_DMAF.p12
04/04/2008  18:29             3 693 javaX509_user_DMAF_CA.p12
04/04/2008  18:29               977 javaX509_user_DMAF_cert.der
04/04/2008  18:29             1 262 javaX509_user_DMAF_priv.der
04/04/2008  18:29             1 812 pkcs8javaX509_user_DMAF_priv.pem
 

SOA, EAI, J2EE, Architecture SI, PKI, webMethods, BEA, Oracle, Haute disponibilite, SunCluster, Weblogic, Unix, webMethods FTP Adapter