1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Oracle HTTP ServerにLet's Encryptで取得したSSL証明書をインストールする方法

Last updated at Posted at 2019-11-22

はじめに

OHSにオレオレ証明書ではなく、ちゃんと署名されたSSL証明書をインストールしようとして激ハマりしました。

証明書はLet's Encryptで取得したものですが、ググってもうまくまとまってる記事がなくかなり苦戦。
とりあえずうまくいったので、メモ代わりに。

環境

RHEL7
WebLogic 12c

SSL証明書の取得

以下の証明書類がある前提で。
これをOHSにいれたかった。

  • cert.pem(サーバー証明書)
  • chain.pem(ルート証明書)
  • fullchain.pem(サーバー証明書とルート証明書が合体したやつ)
  • privkey.pem(秘密鍵)

これらのファイルを /tmp/certs あたりにでも置いておきましょう。

うまくいかなかった方法

OHSにはOracle Walletっていう仕組みがあるらしく、この中に証明書を入れないとダメらしい。

とりあえずやってみる。

$ ./orapki wallet create -wallet /tmp/wallet -auto_login_only
操作は正常に完了しました。

$ ./orapki wallet add -wallet /tmp/wallet -user_cert -cert /tmp/certs/cert.pem -auto_login_only
PKI-04006: ウォレットに一致する秘密鍵がありません。

んー。秘密鍵をいれるには、import_private_keyっていうオプションがあるみたい。
やってみる。

$ ./orapki wallet import_private_key -wallet /tmp/wallet -pvtkeyfile /tmp/certs/privkey.pem
PKI-07015: 秘密鍵をインポートできません。証明書が必要です。

証明書?サーバー証明書も一緒に指定してみる。

$ ./orapki wallet import_private_key -wallet /tmp/wallet -pvtkeyfile /tmp/certs/privkey.pem -cert /tmp/certs/cert.pem -cacert /home/oracle/cert/chain1.pem
秘密鍵のパスワードを入力してください:
PKI-07014: 秘密鍵をインポートできません。 Header not present in private key

秘密鍵にパスワード付けてないし、"秘密鍵にヘッダーがない"とは・・・?

という感じで、秘密鍵にパスワード付けてみたりいろいろやりましたが、ダメでした。

うまくいった方法

opensslでpem→pfxに変換し、それをインポートすれば良いみたいです。

ペアを作る

$ openssl pkcs12 -export -in /tmp/certs/cert.pem -inkey /tmp/certs/privkey.pem -out ./pkcs.p12
Enter Export Password: [そのままEnter]
Verifying - Enter Export Password: [そのままEnter]

$ ls -l
-rw-r--r-- 1 user group 3013 10月 30 10:56 pkcs.p12  ←ペアのファイルができる

walletを作る

$ ./orapki wallet create -wallet /tmp/wallet -auto_login_only
操作は正常に完了しました。

ルート証明書をwalletに追加する

$ ./orapki wallet add -wallet /tmp/wallet -trusted_cert -cert /tmp/certs/chain.pem -auto_login_only
操作は正常に完了しました。

ペアをwalletにインポートする

$ ./orapki wallet import_pkcs12 -wallet /tmp/wallet -pkcs12file ./pkcs.p12 -auto_login_only
PKCS#12ファイル・パスワードを入力してください: [そのままEnter]
orapki command import_pkcs12 executed successfully.

walletの中身を確認

$ ./orapki wallet display -wallet /tmp/wallet
Requested Certificates:
User Certificates:
Subject:        [自分の証明書のCN]
Issuer:         CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US

Trusted Certificates:
Subject:        CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US
Issuer:         CN=DST Root CA X3,O=Digital Signature Trust Co.

あとは、SSLWalletにこのウォレットを指定してあげればOK。

ちなみにfullchainの場合

ペア作るときの-inをfullchain.pemにして、そのままwalletにインポートすれば良さそうです。
(ペアの中にルート証明書が入ってるので、wallet addでルート証明書追加しなくていい)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?