opensslはUnix系のOSで標準的に利用できる暗号化関連を幅広くサポートするプログラムです。
OpenSSLコマンドのマニュアルによると、OpenSSLコマンドは、以下の3種類に分類されています。
– 以下のサブコマンドが用意されています。
– ファイルのメッセージダイジェスト(ハッシュ)値を得ることができます。
– 指定の書式で暗号化できます。
openssl reqでCSRを作成することができます。
この時、同時に秘密鍵も作成されます。
詳細は、ApacheのCSRを作成を参照してください。
openssl req -in csr.file -textでCSRの内容を確認することができます。
以下の「ここにCSRを貼り付ける」に内容を確認したいCSRを貼り付け、「確認」ボタンをクリックすれば、opensslでCSRの内容が表示されます。
openssl x509 -text -noout -in cer.crt で証明書の内容を確認することができます。
以下の「ここに証明書を貼り付ける」に内容を確認したい証明書を貼り付け、「確認」ボタンをクリックすれば、証明書の内容が表示されます。
Windowsシステムで良く使われる中間証明書と証明書が組み込まれた書式のファイルです。1行目に—–BEGIN PKCS7—–の記載があります。
openssl pkcs7 -in pkcs7.crt -print_certs で各証明書基本情報と各証明書書式に分解されます。
以下の「ここにPKCS7証明書を貼り付ける」に内容を確認したい証明書を貼り付け、「確認」ボタンをクリックすれば、証明書の内容が表示されます。
fingerprint (拇印)とは証明書が改ざんされていないことを示すハッシュ値です。
openssl x509 -in my_domain.crt -fingerprint -noout でfingerprint(拇印)を取得できます。
以下の「ここに証明書を貼り付ける」に内容を確認したいpem書式の証明書を貼り付け、「確認」ボタンをクリックすれば、証明書のfingerprint (拇印)が表示されます。
PKCS7証明書の場合は、まず、opensslでPKCS7証明書の内容を確認するでpem書式の証明書を取得してください。
表示された内容のうち、最初の証明書の「BEGIN CERTIFICATE」行から「END CERTIFICATE」までを貼り付けてください。
正しい組み合わせの場合、CSR、証明書、秘密鍵の3ファイルには同一のModulusデータが含まれます。Modulus データは以下のような形式になっています。
サイズの大きなデータをチェックするのは困難ですので、実際のチェックでは、Modulus データを md5 でハッシュした値を比較します。この値を md5 チェックサムと呼びます。
同一データからは必ず同一のハッシュ値が得られ、異なるデータでハッシュ値が同一になることはありません。
以下の方法で、CSR、証明書、秘密鍵のチェックサムを取得し、一致すれば同一の証明書のファイルであることが確認できます。
openssl req -noout -modulus -in my_domain.csr | openssl md5 でチェックサムを取得できます。
openssl x509 -noout -modulus -in my_domain.crt | openssl md5 で証明書のチェックサムを取得できます。
openssl rsa -noout -modulus -in $key_file | openssl md5 でチェックサムを取得できます。
以下のそれぞれの「ここに CSR を貼り付ける」、「ここに証明書を貼り付ける」、「ここに秘密鍵を貼り付ける」に内容を確認したい pem 書式の CSR 、証明書、秘密鍵を貼り付け、「確認」ボタンをクリックすれば、一致しているかどうかが判定できます。
貼り付けるCSRは、「BEGIN CERTIFICATE REQUEST」行から「END CERTIFICATE REQUEST」までを含めてください。
PKCS7証明書の場合は、まず、opensslでPKCS7証明書の内容を確認するでpem書式の証明書を取得してください。表示された内容のうち、最初の証明書の「BEGIN CERTIFICATE」行から「END CERTIFICATE」までを貼り付けてください。
貼り付ける秘密鍵には「BEGIN PRIVATE KEY」行から「END PRIVATE KEY」までを含めてください。