添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

ArcGIS Enterprise环境下往往需要创建自签名证书。小编之前提供的利用OpenSSL创建自签名证书的方法在chrome上再次遇到了证书无效的错误:
证书无效

Chrome浏览器要求证书中必须包含“Subject Alternative Names”这一参数。

修改待用的openssl配置文件

1 拷贝openssl配置文件以备修改

cp /etc/pki/tls/openssl.cnf /home/tomcat8/ssl/ 

2 修改这一openssl.cnf文件
(1) 找到[ req ] 段落,添加如下配置:

 req_extentions = v3_req

(2) 添加v3_req配置信息

[ v3_req ]
# Extensions to add to a certificate request
# basicConstraints = CA:FALSE
# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

(3) 添加alt_names配置信息

[ alt_names ]
DNS.1 = linux111.esrichina.com

注:这里填入的即为Subject Alternative Names的域名名称

1 创建crt格式的自签名证书

openssl req -sha256 -newkey rsa:2048 -nodes -keyout  agsenterprise.key -x509 -days 3650 -out  agsenterprise.crt -config /home/tomcat8/ssl/openssl.cnf -extensions v3_req

2 转换为pfx格式的自签名证书

openssl pkcs12 -inkey  agsenterprise.key -in  agsenterprise.crt -export -out  agsenterprise.pfx

对tomcat配置证书(适用于Tomcat 8.5)

 <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
               maxThreads="150" SSLEnabled="true">
        <SSLHostConfig>
            <Certificate certificateKeystoreFile="/home/tomcat8/ssl/agsenterprise.pfx"
                         certificateKeystoreType="PKCS12" certificateKeystorePassword="xxxxxx" />
        </SSLHostConfig>
 </Connector>

参考:
https://blog.zencoffee.org/2013/04/creating-and-signing-an-ssl-cert-with-alternative-names/

项目测试过程中需要将应用从HTTP升级到HTTPS,浏览了网上一些帖子,参考《WebLogic11g-单双向SSL配置(以Springside3为例)》一文使用openssl工具来自建CA,并对秘钥进行自签名,配置到服务器后,可以通过HTTPS正常访问应用,但是浏览器会提示安全警告: 继续浏览则URL栏会变红,警告有证书错误: 这么鲜艳的红框框,一看就不让人放心呐!下面来说说怎
小编在去年的时候写过一篇《OpenSSL创建的自签名证书chrome无法信任》。在具体实践中才发现,太麻烦,而且很容易出错。所以就搞一个简单且行至有效的方法吧。 长话短说,直接上代码: openssl genrsa -out zhangs.key 2048 openssl req -new -key zhangs.key -out zhangs.csr echo "subjectAltName...
轻松解决自签名证书不安全!(以下过程为windows下的操作过程) 本地服务需要支持https服务的时候,之前最常用到的就是使用openssl生成自签名证书来支持https。但是使用自签名证书在浏览器里面就会遇到证书“不安全”的提示,为了解决证书“不安全”往往是煞费苦心。 现在在这里为大家提供一个简单使用的工具和方法,可以轻松实现本地服务支持https,而且是证书安全的https,彻底解决证书“不...
urllib.error.URLError: &lt;urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed 在全局导入import ssl import ssl ssl._create_default_https_context = ssl._create_unverified_context
在上篇文章《HttpClient配置ssl实现https简单示例——绕过证书验证》中简单分享了一下如何绕过证书验证。如果你想用httpclient访问一个网站,但是对方的证书没有通过ca认证或者其他问题导致证书不被信任,比如12306的证书就是这样的。所以对于这样的情况,你只能是选择绕过证书验证的方案了。 但是,如果是自己用jdk或者其他工具生成的证书,还是希望用其他方式认证自签名证书,这篇文