在Linux浏览器(或Linux命令行)中为Java证书信任库导出SSL证书
背景: 我在使用ColdFusion 9(对等未经身份验证)使用Web服务时遇到一些问题 首先,我要试试。如果那不起作用,我会努力的 但我的问题更具体 问题: 如何在Chrome(或Linux CLI)中导出证书(在正确的级别),以及以何种格式导出证书 详细信息 我看过一些从浏览器导出证书的说明,但它们都是针对IE的(旧版本),我更喜欢使用Chrome,因为我在Linux上 为了获得下面的屏幕截图,我:在Linux浏览器(或Linux命令行)中为Java证书信任库导出SSL证书,java,ssl,coldfusion-9,keytool,truststore,Java,Ssl,Coldfusion 9,Keytool,Truststore,背景: 我在使用ColdFusion 9(对等未经身份验证)使用Web服务时遇到一些问题 首先,我要试试。如果那不起作用,我会努力的 但我的问题更具体 问题: 如何在Chrome(或Linux CLI)中导出证书(在正确的级别),以及以何种格式导出证书 详细信息 我看过一些从浏览器导出证书的说明,但它们都是针对IE的(旧版本),我更喜欢使用Chrome,因为我在Linux上 为了获得下面的屏幕截图,我: 单击URL旁边的锁定图标 “连接”选项卡(显示“此网站的身份已由Sawte SSL CA验
- 单击URL旁边的锁定图标
- “连接”选项卡(显示“此网站的身份已由Sawte SSL CA验证”)
- 单击“证书信息链接”
- “详细信息”选项卡
- 内置对象令牌:Thawte Premium Server CA
- 解冻初生根
- 解冻SSL CA
- sb1.geolinging.com
- Base64编码ASCII,单证书
- Base64编码ASCII,证书链
- DER编码二进制,单证书
- PKCS#7,单一证书
- PKCS#7,证书链
- 所有文件
- 级别:sb1.geolinging.com
- 文件类型:DER编码的二进制文件,单证书
sudo keytool -import -keystore /opt/jrun4/jre/lib/security/cacerts -alias "sb1.geolearning.com (Thawte SSL CA)" -storepass changeit -noprompt -trustcacerts -file ~/Downloads/sb1.geolearning.com
没有浏览器 以下是我这些天(在一家流浪食品店)正在做的事情。在这个脚本中,密钥库是硬编码的,因为我目前只为Lucee使用它;但是,密钥库的路径可以很容易地参数化。而且,与
runfile
相关的代码只是为了让Vagrant不会多次运行脚本;如果您没有将代码用作游民供应器,那么这些行是多余的
与上述解决方案唯一不同的是,它通过openssl s_client
(并使用sed
)获取证书,而不是通过浏览器手动获取证书
#!/usr/bin/env bash
set -e
description="Add cert to Lucee's keystore."
while :
do
case $1 in
--provisioned-dir=*)
provisioned_dir=${1#*=} # Delete everything up till "="
shift
;;
--runfile-name=*)
runfile_name=${1#*=} # Delete everything up till "="
shift
;;
--site-host-name=*)
site_host_name=${1#*=} # Delete everything up till "="
shift
;;
-*)
echo "WARN: Unknown option (ignored): $1" >&2
shift
;;
*) # no more options. Stop while loop
break
;;
esac
done
runfile="${provisioned_dir}/${runfile_name}"
if [ -f "${runfile}" ]; then
echo "${description}: Already run."
exit 0
fi
echo "add cert to keystore"
echo -n | \
openssl s_client -connect ${site_host_name}:443 \
| sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' \
> /tmp/${site_host_name}.cert
/opt/lucee/jdk/jre/bin/keytool \
-import \
-keystore /opt/lucee/lib/lucee-server/context/security/cacerts \
-alias "${site_host_name} (self-signed)" \
-storepass changeit \
-file /tmp/${site_host_name}.cert \
-noprompt \
|| true
touch "${runfile}"