我正在实现一个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脚本是否存在别名,然后删除证书并在其名称中创建new,或者只是创建它?
答案 0 :(得分:3)
也许您可以先列出现有的别名:
[ -z keytool -list -alias cert ] && keytool -genkey -alias cert -keyalg RSA -storepass "${KEYSTORE_PASS}" -keypass