SSL証明書に関する基本知識について説明します。
(1)SSL証明書のファイル形式について:X509とPKCS#7とPKCS#12
X509は電子証明書を記述する形式で、SSL証明書としてはApacheサーバを含め一般的に使用されています。
PKCS#7は公開鍵暗号化の規格の一つで、SSLを含む広範な利用用途の証明書規格の一つになります。WindowsではIISを含めこのPKCS規格を使用しています。PKCS#12は証明書と秘密鍵のペアを保管できる形式で電子証書として一般的に使用される形式です。この形式の証明書を使用するには、秘密鍵に設定したパスワードが必ず必要となります。(2)もう一つのSSL証明書のファイル形式について:PEM形式とDER形式
証明書はテキスト形式(PEM)とバイナリ形式(DER)の2種類の保管形式があります。SWANStorゲートウエイではPEM形式のファイルを扱いますが、たまにDER形式のファイルを扱う必要のあることもあります。(3)サーバ証明書と秘密鍵について
SSLの暗号化は、ブラウザが公開鍵で暗号化したデータをサーバが秘密鍵を使って復号化するという作業で行われています。公開鍵は一般的に暗号化にのみ用い、暗号化された中身を見るには秘密鍵が必要です。従って、秘密鍵は第三者に渡らないように注意する必要があります。ちなみに、SSL署名機関に署名してもらうファイルが公開鍵に相当します。(4)なぜSSLサーバ証明書に署名してもらうのか
ブラウザはSSLサーバにアクセスすると、まず公開鍵がダウンロードされてきます。この鍵を使って暗号化をするわけですが、果たして暗号化して送っていいものかどうかの判断が必要となります。SSLサーバの正当性を、公開鍵に署名した署名機関が保証しているので、ブラウザは安心して暗号化データを送信できるのです。署名がなかったり間違っている場合、ブラウザ上には警告メッセージが出ますが、それを無視した場合、SSLサーバの正当性は保証できませんが、暗号化は行われます。(5)中間証明書ってなに?
例えば、SSL証明書への署名は日本で行われたとします。ブラウザには大元であるアメリカの会社の認証情報がインストールされています。署名を行った日本の会社は大元のアメリカの会社で正当性が認められていることを保証するものが「中間証明書」です。「中間証明書」は1つとは限らないので、何が必要なのかは署名をつけた第三者公的機関の指示に従います。