首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全网关客户端是否支持自签名证书,哪个CN是IP地址?

安全网关客户端是否支持自签名证书,哪个CN是IP地址?
EN

Stack Overflow用户
提问于 2015-07-09 06:50:28
回答 1查看 448关注 0票数 1

我使用HTTPS选项+ Client : enabled设置了安全网关的目的地,以便访问远程HTTPS REST ( CN是IP地址)。

当我执行trx时,Secure客户端得到的错误"IP: 192.168.56.1不在证书列表中:“。没有关于CN名称的信息。如果证书未上载到SG,则有关“安全网关客户端故障排除”的错误消息为"DEPTH_ZERO_SELF_SIGNED_CERT“。因此,我认为证书上传是正确的,但CN没有被SG客户端解析。

安全网关客户端故障排除

010

您能告诉我安全网关客户端是否支持自签署证书,哪个CN是IP地址?

安全网关客户端的日志

2015-07-06 08:16:26.548连接#55正在建立至192.168.56.1:443 2015-07-06 08:16:26.580连接#55建立至192.168.56.1:443 2015-07-06 08:16:26.656连接#55至目的地 192.168.56.1:443有错误: IP: 192.168.56.1不在证书列表中: 2015-07-06 08:16:26.676连接#55至192.168.56.1:443已关闭

上传证书文件

CN=192.168.56.1,OU=demo,O=qit,L=hakozaki,S=tokyo,C=Japan

EN

回答 1

Stack Overflow用户

发布于 2015-07-09 12:16:12

如果您查看错误消息,它不会说CN,(例如,错误连接# had错误: Host:。不是cert的CN:),而是cert的列表,这使我相信您生成的自我签名证书是错误的。问题是使用带有IP_Address的FQDN或CN生成证书。这将无法工作,因为IP地址只有在使用SAN时才被支持。

使用openssl生成以IP作为CN的证书的方法:

1)创建一个openssl配置文件,我从/usr/lib/ssl/openssl.cnf复制了我的配置文件

2)向文件中添加一个alternate_names部分,如下所示:

代码语言:javascript
复制
[ alternate_names ]
IP.1 = <my application's ip>

3)在v3_ca部分中,添加以下一行:

代码语言:javascript
复制
subjectAltName = @alternate_names

4)在CA_default部分中,取消注释copy_extensions:

代码语言:javascript
复制
# Extension copying option: use with caution.
copy_extensions = copy

5) Gen私钥: openssl genrsa -out private.key 3072

6)具有组织选项的Gen证书: openssl req -new -x509 -key private.key -sha256 -out certificate.pem -days 730 -config

7)合并文件: cat private.key certificate.pem > SAN.pem

8)将SAN.pem文件作为client-TLS证书加载到目标中。

9)将SAN.pem文件加载到就地应用程序中,并重新启动。

10)您的目标可以配置为TCP、HTTP或HTTPS,您的云端应用程序现在应该能够连接到您的就地应用程序。

这是来自:How can I generate a self-signed certificate with SubjectAltName using OpenSSL?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31310070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档