Generating certificate authority (CA) is critical for protecting the data in transit for Platform Analytics. See KB484968 for further instructions on generating keys and certificates.
C:\Program Files (x86)\Common Files\Strategy\Apache\Apache24\conf\openssl.cnfand modify the copy with the following changes:
copy_extensions = copy
string_mask=utf8onlyto
string_mask = pkix
openssl.conf:
openssl req -new -x509 -keyout ca-key -out ca-cert -days 1000 -config "C:\Users\admin\Documents\KafKa\E2E\SAN\openssl.cnf"
keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert
keytool -keystore server.keystore.jks -alias tec-w-003752 -validity 1000 -genkey -keyalg RSA -ext SAN=DNS:tec-w-003752.labs.Strategy.com,IP:10.23.4.99
keytool -keystore server.keystore.jks -alias tec-w-003752 -certreq -file cert-file -ext SAN=DNS:tec-w-003752.labs.Strategy.com,IP:10.23.4.99
openssl.cnfto set up CA signing environment. Sign the certificate:
openssl ca -config "C:\Users\admin\Documents\KafKa\E2E\SAN\CA\openssl.cnf" -in cert-file -out CASignedCert.crt openssl x509 -in CASignedCert.crt -out CASignedCert.pem
keytool -keystore server.keystore.jks -alias tec-w-003752 -import -file CASignedCert.pem
keytool -keystore server.keystore.jks -alias CARoot -import -file ca-cert
openssl genpkey -out CAprivateKey.pem -des3 -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -pkeyopt ec_param_enc:named_curve openssl req -x509 -new -sha384 -key CAprivateKey.pem -out CAcert.crt -days 365
CN:tec-w-003752.labs.Strategy.comwhen creating CA certificate
openssl x509 -in CAcert.crt -out CAcert.pem
keytool -keystore client.truststore.jks -alias CARoot -import -file CAcert.crt
openssl genpkey -out ServerprivateKey.pem -des3 -algorithm EC -pkeyopt ec_paramgen_curve:P-384 -pkeyopt ec_param_enc:named_curve
openssl req -new -key ServerprivateKey.pem -out CSR.csr
openssl.cnfto set up CA signing environment. Sign the certificate:
openssl ca -config "C:\Users\admin\Documents\KafKa\E2E\CN\CA\openssl.cnf" -in CSR.csr -out CASignedCert.crt openssl x509 -in CASignedCert.crt -out CASignedCert.pem
openssl pkcs12 -export -in CASignedCert.pem -inkey ServerprivateKey.pem -name tec-w-003752 -out PKCS-12.p12 keytool -importkeystore -srckeystore PKCS-12.p12 -destkeystore server.keystore.jks -srcstoretype pkcs12 -alias tec-w-003752
keytool -keystore server.keystore.jks -alias CARoot -import -file CAcert.crt
openssl req -new -x509 -keyout ca-key -out ca-cert -days 1000
keytool -keystore client.truststore.jks -alias CARoot -import -file ca-cert
san.cnffile by following this documentation. Generate server key and signing request with OpenSSL:
openssl req -out CASignReq.csr -newkey rsa:2048 -nodes -keyout Serverprivate.key -config san.cnf
openssl.cnfto set up CA signing environment. Ensure
copy_extensions = copyis enabled in
openssl.cnf. Sign the certificate:
openssl req -new -key ServerprivateKey.pem -out CSR.csr
openssl pkcs12 -export -in CASignedCert.pem -inkey Serverprivate.key -name tec-w-003752 -out PKCS-12.p12 keytool -importkeystore -srckeystore PKCS-12.p12 -destkeystore server.keystore.jks -srcstoretype pkcs12 -alias tec-w-003752
keytool -keystore server.keystore.jks -alias CARoot -import -file ca-cert
How do I set up the CA signing environment?
certsand
newcerts.
index.txt.
serialand add
01into it. You can run command
echo 01 > serialto create this file. Ensure there are no quotes around
01.
openss.cnf:
certs= [certs folder path]
database= [index.txt file path]
new_certs_dir= [newcerts folder path]
serial= [serial file path]
certificate= [CA certificate file path]
private_key= [CA private key file path]