Исключение при использовании IP-адреса в имени сертификата

#ssl #certificate #ssl-certificate

#ssl #сертификат #ssl-сертификат

Вопрос:

Вызвано: javax.net.ssl.SSLPeerUnverifiedException: Имя хоста 97.xx.xxx.xxx не проверено: сертификат: sha256/tjx1IRiuC1TmxlIIhW8FWOxoaFoY2E3mECOgtGW0Jqk= DN: O= Internet Widgits Pty Ltd, ST = Some-State, C= AU subjectAltNames: [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

Комментарии:

1. Не могли бы вы предоставить более подробную информацию о сертификате. Примечательно, что IP-адрес в subjectAltNames должен иметь тип IP, а не DNS.

2. @SteffenUllrich да, это тип DNS. Я добавил больше деталей. Как я мог бы изменить его на тип IP?

3. Вы не можете изменить существующий сертификат. Вам нужно будет создать новый сертификат, в котором вы укажете тип записи subjectAltNames как IP, а не DNS.

Ответ №1:

Я смог заставить его работать, как предложил Штеффен в комментариях, я добавил 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
)