美文网首页
【keytool】如何把安全证书导入到java中的cacerts

【keytool】如何把安全证书导入到java中的cacerts

作者: Bogon | 来源:发表于2023-03-02 07:23 被阅读0次

    如何将自签名证书正确导入Java密钥库,默认情况下可供所有Java应用程序使用?

    在项目开发中,有时会遇到与SSL安全证书导入打交道的,如何把证书导入java中的cacerts证书库呢?

    # cat install.sh

    #########################################################

    #!/usr/bin/env bash

    export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

    export JAVA_HOME="/opt/jre1.8.0_212"

    plain='\033[0m'

    red='\033[0;31m'

    green='\033[0;32m'

    yellow='\033[0;33m'

    kt="${JAVA_HOME}/bin/keytool"

    ct="${JAVA_HOME}/jre/lib/security/cacerts"

    [ $(id -u) != 0 ] && { echo -e "[${red}Error${plain}] 当前用户不是root"; exit 1; }

    function check_tool() {

        [ -f ${kt} ] || { echo -e "[${red}Error${plain}] ${JAVA_HOME}/bin/keytool不存在"; exit 1; }

        [ -f ${ct} ] || { echo -e "[${red}Error${plain}] ${JAVA_HOME}/jre/lib/security/cacerts不存在"; exit 1; }

    }

    function import_cacert() {

        echo -e "[${green}Info${plain}] 导入apple cacert"

        ${JAVA_HOME}/bin/keytool -import -alias apple_cacert1 -keystore ${JAVA_HOME}/jre/lib/security/cacerts -storepass "changeit"  --noprompt -trustcacerts -file AAACertificateServices.crt

        ${JAVA_HOME}/bin/keytool -import -alias apple_cacert2 -keystore ${JAVA_HOME}/jre/lib/security/cacerts -storepass "changeit"  --noprompt -trustcacerts -file USERTrustRSAAAACA.crt

        ${JAVA_HOME}/bin/keytool -import -alias apple_cacert3 -keystore ${JAVA_HOME}/jre/lib/security/cacerts -storepass "changeit"  --noprompt -trustcacerts -file COMODORSAAAACA.crt

    }

    function check_cacert() {

        echo -e "[${green}Info${plain}] 查询apple cacert"

        ${JAVA_HOME}/bin/keytool -list -keystore ${JAVA_HOME}/jre/lib/security/cacerts -storepass "changeit" | grep -iA1 "apple_cacert"

    }

    function install_apple_cacert() {

      check_tool

      import_cacert

      check_cacert

    }

    install_apple_cacert 2>&1 | tee install_log.log

    exit 0

    ###############################################################

    参考

    如何把安全证书导入到java中的cacerts证书库

    https://my.oschina.net/farces/blog/335811

    一键获取站点证书导入到java信任库

    https://github.com/ssbarnea/keytool-trust/blob/master/keytool-trust

    有没有加载 $JAVA_HOME/lib/security 文件夹中指定的cacerts的方法?

    https://cloud.tencent.com/developer/ask/51974

    https://docs.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#X509TrustManager

    How to set up Java to use user specific certificates for Eclipse?

    https://stackoverflow.com/questions/663890/how-to-set-up-java-to-use-user-specific-certificates-for-eclipse

    相关文章

      网友评论

          本文标题:【keytool】如何把安全证书导入到java中的cacerts

          本文链接:https://www.haomeiwen.com/subject/thjocltx.html