Comment créer un certificat X509 à l'aide de Java?
Je veux créer un certificat X509 en utilisant le langage Java et ensuite extraire la clé publique.
J'ai cherché sur internet et trouvé de nombreux exemples de code, mais tous ont des erreurs (inconnue ou variable de type inconnu) ou qui ont de nombreuses mises en garde qui disent quelque chose comme : "la méthode ... de type ... est obsolète ", etc.
Par exemple, pourquoi le code suivant ne fonctionne pas:
PublicKey pk;
CertificateFactory cf = CertificateFactory.getInstance("X.509");
String PKstr = pk.toString();
InputStream PKstream = new ByteArrayInputStream(PKstr.getBytes());
X509Certificate pkcert = (X509Certificate)cf.generateCertificate(PKstream);
Quelqu'un peut-il me montrer comment créer un certificat à l'aide de Java pur ou Château Gonflable et ensuite obtenir une clé publique à partir de cela?
Merci à tous.
OriginalL'auteur leyla moazami | 2012-07-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez également générer un certificat en utilisant uniquement les classes du JDK. L'inconvénient est que vous devez utiliser deux classes du soleil.de sécurité.x509 paquet.
Le code serait:
Récupérer la clé privée de la clé de stockage pour chiffrer ou déchiffrer les données.
Sur la base du code est de http://www.pixelstech.net/article/1408524957-Generate-cetrificate-in-Java----3
OriginalL'auteur iwan.z
Oui, avec BouncyCastle, la création d'un X509 cert de 2 clés publiques (la clé pour le cert et celui de l'autorité de certification) est fait ici.
Je tourne le certificat obtenu en PEM ici.
oh, non. Je pense que de négatif à dire à ma question. Je veux un code simple pour créer l'habitude de certificat.
Wow, je ne comprends pas ce que vous cherchez. Vous ne voulez pas créer un certificat à partir d'une clé? Pouvez-vous expliquer mieux? Quel est l'entrée, quel est le résultat?
l'entrée est de la clé publique de l'entité spécifiée et que la sortie est un certificat qui atteste que la clé publique. à cette fin, pourquoi le code ci-dessus ne fonctionne pas?
CertificateFactory.generateCertificate(x)
lit un certificat existant au format PKCS#7 dex
et renvoie unCertificate
. C'est documenté sur docs.oracle.com/javase/6/docs/api/java/security/cert/... . Créer une à partir d'une clé publique est plus difficile et ce que mon code ne.OriginalL'auteur Pierre Carrier