У нас есть JAVA-сервер и клиент, которые связывают сеть через SSL. Сервер и клиент взаимно аутентифицируют друг друга с помощью сертификатов. Тип хранилища ключей, используемый сервером и клиентом, - JKS. Имена файлов хранилища ключей и хранилища доверия для сервера и клиента: server.keystore, server.truststore, client.keystore и client.truststore.Как создать хранилище ключей и доверительное хранилище с использованием самозаверяющего сертификата?
Я использую самоподписанные сертификаты только для тестирования.
Вопросы:
Q1. Я хотел бы знать, почему мне нужно добавить собственные сертификаты сервера и клиента в свои соответствующие магазины, на этапе 6.
Q2. Могу ли я уменьшить число шагов для достижения того же? Если да, то как?
Шаги для создания ключа RSA, самозаверенные сертификаты, хранилища ключей и доверенных сертификатов для сервера
1. Сформировать частный RSA ключ
OpenSSL genrsa -out diagserverCA.key 2048
2. Создание сертификата x509
OpenSSL REQ -x509 -new -nodes -key diagserverCA.key -sha256 -days 1024 -out diagserverCA.pem
3. Создайте хранилище ключей PKCS12 из личного ключа и открытого сертификата.
OpenSSL PKCS12 -export -name сервер-CERT -в diagserverCA.pem -inkey diagserverCA.key отъезда serverkeystore.p12
4. Преобразование PKCS12 в хранилище ключей JKS хранилище ключей
Keytool - importkeystore -destkeystore server.keystore -srckeystore serverkeystore.p12 -srcstoretype pkcs12 -alias server-cert
5. Импортируйте сертификат клиента в хранилище доверия сервера.
Keytool -import -alias клиент-CERT -file diagclientCA.pem -keystore server.truststore
6. Импорт сертификата сервера в хранилище доверенных сервера.
Keytool -import -alias сервер-CERT -file diagserverCA.pem -keystore server.truststore
шаги, чтобы создать RSA секретный ключ, самостоятельно подписанный сертификат, хранилище ключей и доверенных сертификатов для клиента
1. Сформировать секретный ключ
OpenSSL genrsa отъезда diagclientCA.ключ 2048
2. Создание сертификата x509
OpenSSL REQ -x509 -new -nodes -key diagclientCA.key -sha256 -days 1024 -out diagclientCA.pem
3. Создать PKCS12 хранилище ключей от закрытого ключа и публичный сертификат.
OpenSSL PKCS12 -export -name клиент-CERT -в diagclientCA.pem -inkey diagclientCA.key отъезда clientkeystore.p12
4. Преобразование PKCS12 хранилища ключей в хранилище ключей JKS
Keytool -importkeystore -destkeystore client.keystore -srckeystore clientkeystore.p12 -srcstoretype pkcs12 -alias client-cert
5. Импортировать сертификат сервера в хранилище доверия клиента.
Keytool -import -alias сервер-CERT -file diagserverCA.pem -keystore client.truststore
6. Импорт сертификата клиента для клиента доверия магазин.
Keytool -import -alias клиент-CERT -file diagclientCA.pem -keystore client.truststore
Stack Overflow - это сайт для вопросов программирования и развития. Этот вопрос кажется вне темы, потому что речь идет не о программировании или разработке. См. [Какие темы можно задать здесь] (http://stackoverflow.com/help/on-topic) в Справочном центре. Возможно, лучше сказать [Суперпользователь] (http://superuser.com/) или [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/). Также см. [Где я пишу вопросы о Dev Ops?] (Http://meta.stackexchange.com/q/134306) – jww
Также см. [Keytool создать доверенный самоподписанный сертификат] (http://stackoverflow.com/q/2200176/608639). – jww