2017-07-13 2 views
0

J'essaie de mettre à jour un certificat dans un keystore côté serveur en gardant le même alias que précédemment, et sous cet alias il y a en fait 3 certificats différents et j'aimerais mettre à jour seulement l'un d'entre eux.ssl - Mise à jour de l'un des certificats sous un alias

Ils sont comme:

Alias name: alias 
Creation date: 
Certificate chain length: 3 
Certificate[1]: 
Owner:...... 
... 
Certificate[2]: 
... 

J'ai essayé d'abord avec ceci:

keytool -import -trustcacerts -alias <same_as_before> -file new.cer -keystore <same_as_before>.jks 

mais obtenir exception:

keytool error: java.lang.Exception: Failed to establish chain from reply 

puis j'ai enlevé l'ancien alias en utilisant:

keytool -delete -alias <same_as_before> -keystore <same_as_before> 

, puis réimporter. Cette fois, cela a fonctionné mais les deux certificats ont été enlevés aussi. J'ai également essayé d'importer directement (sans suppression) mais avec un nouveau nom d'alias et cela a fonctionné, mais je ne suis pas sûr du comportement du serveur à la date d'expiration de l'ancien certificat car c'est pourquoi j'ai besoin de le mettre à jour . Des suggestions s'il vous plaît?

Répondre

0

Problème résolu. Chose est que nous ne pouvons pas mettre à jour un seul certificat dans une chaîne. Dans mon cas, les trois certificats chaînés sont le certificat que je vais utiliser, l'autorité de certification racine et l'autorité de certification intermédiaire associée à ce certificat. Ce que j'ai fait est d'exporter l'autorité CA racine et les certificats CA intermédiaires du certificat renouvelé et de les importer en utilisant keytool avec l'ordre root -> intermediate -> renewé. Ensuite, lorsque je vérifie le contenu du fichier .jks, le certificat correspondant a été renouvelé.