Мы пытаемся создать сертификаты сервера для кластера серверов Kafka для связи через SSL.
Процедура работает, но в результате срок действия сертификатов составляет всего 30 дней.
Мы запрашиваем 365 дней, и после «Шага 1» (см. ниже) у нас есть пара ключей с правильной действительностью. См. (1) ниже.
Однако после того, как мы импортируем подписанный сертификат обратно в хранилище ключей, срок его действия сократился до 30 дней. См. (2) ниже.
Почему так и как мы можем это исправить?
echo "Шаг 1: Создайте идентификатор сервера и хранилище ключей"
$ORACLE_JDK_1_8_0_u181_keytool -genkey -keystore keystore.p12 -alias localhost -validity 365 -keyalg RSA -deststoretype pkcs12 -ext SAN="DNS:$SERVER_NAME.corp.com,IP:1.2.3.4"
$ORACLE_JDK_1_8_0_u181_keytool -list -v -keystore keystore.p12 -storepass $KPWD
# (1) Показывает срок действия 365 дней: верно
echo "Шаг 2: Экспортируйте закрытый ключ из хранилища ключей в отдельный файл"
openssl pkcs12 -in keystore.p12 -nodes -nocerts -out $SERVER_NAME_key.pem -passin pass:$KPWD -passout pass:$KPWD
echo "Шаг 3: Создайте запрос на подпись сертификата (CSR)"
openssl req -new -key $SERVER_NAME_key.pem -out $SERVER_NAME.csr -passin pass:$KPWD -passout pass:$KPWD
echo "Шаг 6 Подпишите сертификат сервера"
openssl x509 -req -in $SERVER_NAME.csr -CA CAcert.pem -CAkey CAkey.pem -CAcreateserial -out $SERVER_NAME_key_signed.pem -passin pass:$CAPD
echo "Шаг 7: Импортируйте сертификат центра сертификации и подписанный сертификат в хранилище ключей."
$ORACLE_JDK_1_8_0_u181_keytool -keystore keystore.p12 -alias CARoot -import -file CAcert.pem -storepass $KPWD
$ORACLE_JDK_1_8_0_u181_keytool -keystore keystore.p12 -alias localhost -import -file $SERVER_NAME_key_signed.pem -storepass $KPWD
$ORACLE_JDK_1_8_0_u181_keytool -list -v -keystore keystore.p12 -storepass $KPWD
# (2) Показывает срок действия 30 дней: НЕПРАВИЛЬНО. ПОЧЕМУ?