Здесь приведен пример создания сертификатов для двух серверов. На этом примере также можно сгенерировать клиентские сертификаты для WNAM.

# Создание самозаверяющего сертификата 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



  • No labels