Salesforceに証明書をインポートするにはJKS形式のキーストアに変換する必要があります。秘密鍵から自己署名証明書を作成してJKS形式のキーストアを作成したり、PKCS12形式のキーストアをJKS形式に変換してアップロードします。アップロードした証明書はSSOリクエスト署名、APIクライアント、ドメイン証明書として使用できます。
1. PEM形式の秘密鍵から証明書署名要求(CSRファイル)を作成する
$ openssl req -new -key server.key -out server.csr
Country Name (2 letter code) []:JP
State or Province Name (full name) []:TOKYO
Locality Name (eg, city) []:Chiyoda
Organization Name (eg, company) []:CompanyName
Organizational Unit Name (eg, section) []:UnitName
Common Name (eg, fully qualified host name) []:Test
Email Address []:
2. 自己署名デジタル証明書(CRTファイル)を作成する
$ openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt
3. PKCS12形式のキーストアを作成する
$ openssl pkcs12 -export -name signedcert -in server.crt -inkey server.key -out keystore.p12
export password:
4. JKS形式のキーストアを作成する
$ keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -destkeystore keystore.jks -deststoretype jks -alias signedcert
出力先キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
ソース・キーストアのパスワードを入力してください:
Appendix
秘密鍵のパスフレーズを解除する
-----BEGIN ENCRYPTED PRIVATE KEY-----
から始まる秘密鍵のパスフレーズを解除して-----BEGIN PRIVATE KEY-----
から始まる秘密鍵に変換する。
openssl pkcs8 -topk8 -nocrypt -in your_private_key.pem -outform PEM