Здесь приведен пример создания сертификатов для двух серверов. На этом примере также можно сгенерировать клиентские сертификаты для WNAM 2.
Создание самозаверяющего сертификата CA.
openssl genpkey -algorithm RSA -out ca.key openssl req -x509 -new -key ca.key -days 3650 -out ca.crt \ -subj "/C=RU/ST=NA/L=Moscow/O=Demo/CN=domain.ru/emailAddress=admin@domain.ru"
Сгенерируйте закрытыe ключи серверов и запросы на подпись сертификатов (CSR).
openssl req -new -newkey rsa:4096 -nodes -keyout server1.key -out server1.csr \ -subj "/C=RU/ST=NA/L=Moscow/O=Company Demo/CN=kafka1.domain.ru/emailAddress=admin@domain.ru" openssl req -new -newkey rsa:4096 -nodes -keyout server2.key -out server2.csr \ -subj "/C=RU/ST=NA/L=Moscow/O=Company Demo/CN=kafka2.domain.ru/emailAddress=admin@domain.ru"
Создайте файл san.cnf.
Расширение SAN позволяет включать дополнительные имена субъектов, такие как доменные имена или IP-адреса, в один сертификат, что позволяет сделать сертификат действительным для нескольких объектов или альтернативных имен.
authorityKeyIdentifier=keyid,issuer basicConstraints=CA:FALSE keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment subjectAltName = @alt_names [alt_names] DNS.1=*.domain.ru
Сгенерируйте и подпишите сертификаты серверов.
openssl x509 -req -in server1.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server1.crt \ -days 3650 -extfile san.cnf openssl x509 -req -in server2.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server2.crt \ -days 3650 -extfile san.cnf
Преобразование сертификатов серверов в PKCS12.
openssl pkcs12 -export -in server1.crt -inkey server1.key -name kafka-broker1 -out kafka1.p12 openssl pkcs12 -export -in server2.crt -inkey server2.key -name kafka-broker2 -out kafka2.p12
Создание Kafka KeyStore (JKS).
keytool -importkeystore -srckeystore kafka1.p12 -destkeystore kafka1.keystore.jks -srcstoretype pkcs12 keytool -importkeystore -srckeystore kafka2.p12 -destkeystore kafka2.keystore.jks -srcstoretype pkcs12
Создание Kafka TrustStore.
keytool -keystore kafka.truststore.jks -alias CARoot -import -file ca.crt