У меня есть сертификат с сгенерированным CSR в go daddy.
Я попытался сгенерировать свой собственный CSR, чтобы получить сертификат для моего домена.Я следовал их руководству, чтобы создать магазин с CSR:
keytool -genkey -alias codesigncert -keypass -keyalg RSA -keysize 2048 -dname "CN=displayname,O=companyname,C=US,ST=state,L=city" -keystore codesignstore -storepass
Но крестник отклонил сгенерированный CSR, поэтому я использовал тот, который они генерируют.
После этого я использовал эту командуиз учебника на thomasvitale.com.:
keytool -import -alias <my alias> -file <downloadedcertificate file>.crt -keystore keystore.p12 -storepass password
Сгенерированное хранилище ключей .p12 не загрузится, потому что Spring сказал:
DerInputStream.getLength(): lengthTag=109, too big.
Чтение LOT начто я узнал, что это был способ генерации хранилища ключей и версия чего-либо.Из-за этого мне пришлось сгенерировать другое хранилище ключей.
Чтобы сгенерировать текущее проблемное хранилище ключей, я попробовал следующие инструкции medium.com:
Использовал это для генерации хранилища ключей:
keytool -genkey -alias <alias> -keyalg RSA -keystore <keystore.jks> -keysize 2048
Используется для создания CSR:
keytool -certreq -alias <alias> -keystore <keystore.jks> -file <domain>.csr
Отправляет CSR для генерации ssl-сертификатов, загружая их с помощью опции tomcat.Затем импортировал сертификаты:
промежуточный сертификат: keytool -import -trustcacerts -alias <alias> -file gd_bundle-g2-g1.crt -keystore <keystore.jks>
корневой сертификат: keytool -import -trustcacerts -alias <alias> -file e2e56xxxxf40c7.crt -keystore <keystore.jks>
Затем я создал хранилище ключей pcks следующим образом:
keytool -importkeystore -srckeystore <keystore.jks> -destkeystore <keystore.p12> -srcstoretype JKS -deststoretype PKCS12 -deststorepass <password> -srcalias <src alias> -destalias <dest alias>
После этого моя весенняя конфигурация загрузки для установки сертификата: После комментариев по этому вопросу я перешел на использование JKS и удалил шифры.
server:
port: 8443
ssl:
enabled: true
key-store-type: JKS
key-store: classpath:asgard_keystore.jks
key-store-password: generated
key-alias: asgard
После установки всех этих файлов на сервер p12, сервервсе началось нормально, но любые запросы к серверу приводили бы к: err_ssl_version_or_cipher_mismatch
или SSL_ERROR_NO_CYPHER_OVERLAP
Захват этого в wireshark только что сказал Alert 21 с использованием TLS 1.2 Handshake Failure (40).
I 'м, используя undertow в качестве сервера.Я не помню, использовал ли я домен в поле имени и фамилии CSR.
Расшифровывая CSR с помощью инструмента digicert, я получил:
Common name
<my domain>
Organization
<my org>
Organizational unit
<my city>
City/locality
<my city>
State/province
<my estate>
Country
<my country>
Signature algorithm
SHA256
Key algorithm
RSA
Key size
2048
Кажется, я делаювсе точно так же, как каждый учебник, и каждый раз, когда что-то не получается: (
Согласно комментарию к вопросу, keytool -list вызывает:
keytool -list для .jks:
Keystore type: jks
Keystore provider: SUN
Your keystore contains 3 entries
Alias name: asgard
Creation date: Dec 7, 2018
Entry type: trustedCertEntry
Owner: CN=Go Daddy Secure Certificate Authority - G2, OU=http://certs.godaddy.com/repository/, O="GoDaddy.com, Inc.", L=Scottsdale, ST=Arizona, C=US
Issuer: CN=Go Daddy Root Certificate Authority - G2, O="GoDaddy.com, Inc.", L=Scottsdale, ST=Arizona, C=US
Serial number: 7
Valid from: Tue May 03 07:00:00 UTC 2011 until: Sat May 03 07:00:00 UTC 2031
Certificate fingerprints:
MD5: 96<removed>:40
SHA1: 2<removed>B8
SHA256: 97:3A<removed>E9:76:FF:6A:62:0B:67:12:E3:38:32:04:1A:A6
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
< not relevant >
]
*******************************************
*******************************************
Alias name: intermediate
Creation date: Dec 14, 2018
Entry type: trustedCertEntry
Owner: CN=<removed>, OU=Domain Control Validated
Issuer: CN=Go Daddy Secure Certificate Authority - G2, OU=http://certs.godaddy.com/repository/, O="GoDaddy.com, Inc.", L=Scottsdale, ST=Arizona, C=US
Serial number: 5c<removed>
Valid from: Fri Dec 07 20:25:19 UTC 2018 until: Mon Dec 07 18:10:35 UTC 2020
Certificate fingerprints:
MD5: 31<removed>74:77
SHA1: 8D:<removed>:C0:F5:AE:0B
SHA256: 77:14:9<removed>8B:1D:67:46:1A:67:A2:72:2F:2F:9E:F2:16
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
< not relevant >
]
*******************************************
*******************************************
Alias name: server
Creation date: Dec 7, 2018
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=<removed>, OU=São Paulo, O=Ideas Farm, L=São Paulo, ST=SP, C=BR
Issuer: CN=a<removed>, OU=São Paulo, O=Ideas Farm, L=São Paulo, ST=SP, C=BR
< not relevant >
]
]
*******************************************
*******************************************
полный отчет: отчет о вставке
Я удалил части ответа, которые я нахожу неактуальными. Мне показалось странным, что файл pkcs (.p12) сообщилкак тип jks.
Кроме того, файлы, которые я получил от центра сертификации:
5<removedhex>6b1b.crt
gd_bundle-g2-g1.crt
gdig2.crt.pem
gd_bundle содержит 3 сертификата -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----
три раза. Два других простоодин.