使用.cer

时间:2016-08-08 17:26:47

标签: ssl ssl-certificate hostname cer

我是ssl和openssl的新手。我正在尝试使用.cer文件生成卷曲请求(不使用-k或-insecure标志)。 生成.pem文件后,我尝试按以下方式发出POST请求: curl --cacert certificate.pem -XPOST“https://server_ip:server_port?obj1=okay

当我使用我的服务器IP地址时,收到错误消息:curl:(51)无法与对等方安全通信:请求的域名与服务器的证书不匹配。

如果我使用localhost.localdomain而不是server_ip,则会正确生成请求。

我知道ssl证书只能证明一个主机名。有没有办法将主机名更改为服务器的IP地址而不是localhost.localdomain?

谢谢

1 个答案:

答案 0 :(得分:0)

  

如果我使用localhost.localdomain而不是server_ip,则会正确生成请求。

您必须使用已颁发证书的主机名访问主机。除了使用你已经指定过你不想做的-insecure之外,还有很多方法可以解决这个问题。

  

我知道ssl证书只能证明一个主机名。

大多数用户代理以及几乎所有浏览器都支持使用主题备用名称,它允许您指定多个。浏览器通常会读取前100个SAN。 SAN甚至可以支持IP地址。

  

有没有办法将主机名更改为服务器的IP地址而不是localhost.localdomain

通常是通过DNS完成的。虽然,因为看起来您正在尝试使用环回,但您可能只能编辑HOSTS文件以包含您想要指向环回地址的任何名称。