【问题标题】:Exception on using IP address in certificate name在证书名称中使用 IP 地址的例外情况
【发布时间】:2019-09-11 22:33:20
【问题描述】:

引起:javax.net.ssl.SSLPeerUnverifiedException:主机名 97.xx.xxx.xxx 未验证: 证书:sha256/tjx1IRiuC1TmxlIIhW8FWOxoaFoY2E3mECOgtGW0Jqk= DN: O=Internet Widgits Pty Ltd, ST=Some-State, C=AU 主题AltNames:[97.xx.xxx.xxx]

证书详情

Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            XXXXXXX
    Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = US, ST = Some-State, O = Internet Widgits Pty Ltd
        Validity
            Not Before: Apr 22 17:42:36 2019 GMT
            Not After : Apr 20 17:42:36 2024 GMT
        Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                Public-Key: (2048 bit)
                Modulus:
                    XXXXX
                Exponent: XXX
        X509v3 extensions:
            X509v3 Authority Key Identifier: 
                keyid:XXXXX

            X509v3 Basic Constraints: 
                CA:FALSE
            X509v3 Key Usage: 
                Digital Signature, Non Repudiation, Key Encipherment, Data Encipherment
            X509v3 Subject Alternative Name: 
                DNS:97.XX.XXX.XXX
    Signature Algorithm: sha256WithRSAEncryption
         XXXXXX

我在使用带有 IP 地址的证书时遇到上述错误。我还应该做些什么来创建带有 IP 地址的证书吗? Hostname not verified: exception是什么原因

【问题讨论】:

  • 您能否提供有关证书的更多详细信息。值得注意的是,subjectAltNames 中的 IP 地址应该是 IP 类型,而不是 DNS。
  • @SteffenUllrich 是的,它的 DNS 类型。我添加了更多细节。我怎样才能将其更改为类型 IP?
  • 您无法更改现有证书。您需要创建一个新证书,在其中将 subjectAltNames 条目的类型指定为 IP 而不是 DNS。

标签: ssl certificate ssl-certificate


【解决方案1】:

我能够按照 Steffen 在 cmets 中的建议让它工作,我将域 IP 地址添加到 subjectAltName 中,类型为 IP。

openssl x509 -req -in certificate_sign_req.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial -out signed_certificate.crt -days 1825 -sha256 -extfile <(cat <<EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
IP.1 = ${domain}
EOF
)

【讨论】:

    猜你喜欢
    • 2020-09-28
    • 2020-09-28
    • 1970-01-01
    • 2015-06-14
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    相关资源
    最近更新 更多