Secure Gateway Client是否支持CN为IP地址的自签名证书?

时间:2015-07-09 06:50:29

标签: ibm-cloud secure-gateway

我使用HTTPS选项+客户端TLS设置Secure Gateway的目的地:启用以访问CN是IP地址的远程HTTPS REST API。

enter image description here

当我执行trx时,Secure Gateway Client收到错误" IP:192.168.56.1不在证书列表中:"。没有CN名称的信息。如果证书尚未上传到SG,则错误消息为" DEPTH_ZERO_SELF_SIGNED_CERT"关于" Secure Gateway客户端故障排除"。所以我认为证书已正确上传,但SG客户端无法解析CN。

Secure Gateway客户端故障排除
https://www.ng.bluemix.net/docs/troubleshoot/SecureGateway/ts_index-gentopic1.html#ts_sg_010

您能教我一下Secure Gateway Client是否支持CN是IP地址的自签名证书吗?

Secure Gateway Client的日志

  

[2015-07-06 08:16:26.548] [INFO]连接#55正在建立到192.168.56.1:443
  [2015-07-06 08:16:26.580] [INFO]连接#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 =日本

enter image description here

1 个答案:

答案 0 :(得分:0)

如果您查看错误消息,它不会说CN,(例如[错误]连接#有错误:主机:。不是证书的CN :),但是证书列表,这让我相信您已经生成了自签名证书不正确。问题是使用FQDN或带有IP_Address的CN生成证书。这不起作用,因为仅在使用SAN时支持IP地址。

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

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

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

[ alternate_names ]
IP.1 = <my application's ip>

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

subjectAltName = @alternate_names

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

# 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&gt; 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?