1

我正在實現一個shell腳本,它將使用keytool命令創建一個新的自簽名證書。以下是我用來創建證書的命令:檢查證書別名是否已經存在

echo "# Creating key and Self Signed Certificate" 
    keytool -genkey -alias cert -keyalg RSA -storepass "${KEYSTORE_PASS}" -keypass   "${KEY_PASS}" -keystore cert/keystore.jks -validity 3650 -keysize 1024 -dname "C=${CNTRY}, ST=${ST}, L=${LOC}, O=${ORG}, OU=Certificates, CN=${ORG} SEURAT Certificate Authority" 

exit_on_error $?

對於密碼和其他主題信息,我從用戶獲得輸入。如果別名已存在,此命令將失敗。我可以刪除使用

keytool -delete -alias 1 -keystore cert/keystore.jks 

別名,但如果存在別名犯規上面的命令失敗。那麼如何在shell腳本中檢查別名是否存在,然後刪除證書並在其名稱中創建新的或者只是創建它?

回答

2

也許你可以列出現有的別名第一:

[ -z keytool -list -alias cert ] && keytool -genkey -alias cert -keyalg RSA -storepass "${KEYSTORE_PASS}" -keypass 
相關問題