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 脚本然后删除证书并以其名称创建新证书,或者只是创建它?

4

1 回答 1

3

也许您可以先列出现有的别名:

[ -z keytool -list -alias cert ] && keytool -genkey -alias cert -keyalg RSA -storepass "${KEYSTORE_PASS}" -keypass
于 2012-07-04T08:10:37.910 回答