技術的な情報(FAQ)
技術的な情報
opensslコマンドが利用できないようです。
※本情報は一例です。より詳細な情報につきましては、関連サイトや書籍等にてご確認ください。
また、作業に関してはお客様の責任において実施いただきますようお願いいたします。
<LinuxのRPMパッケージの有無>
# rpm -qa |grep openssl
<ファイル検索>
# locate openssl
※updatedbコマンドを実行したことがない場合、エラーとなります。updatedbを実行後、お試しください。
■opensslが見つかった場合
コマンドパスが通っていない可能性がありますので、パスを通す設定を行ってください。
<現在のパスの確認>
# echo $PATH
<新しいパスの追加>
# export PATH = $PATH :
追加するディレクトリ名
ログインしたときに、常にこの設定を有効にするには、.bashrc等の設定ファイルに、このコマンドを追加します。
■opensslが見つからない場合
個別にインストールいただく必要があります。
ソースからインストールをする場合は、以下URLにてソースをダウンロードし、インストールを行ってください。
OpenSSLサイト
Linuxのディストリビューションによっては、yumコマンドでインストールできる場合もあります。
# yum search openssl
上記コマンドでopensslが表示される場合は、以下でインストール可能です。
# yum install openssl
opensslコマンドで証明書情報を確認したい。
ブラウザからの接続では、中間証明書が正しく設定されているかなどの詳細を確認することができないため、
詳細を確認するにはopensslコマンドが有効です。
コマンドの例
openssl s_client -connect ssl.example.org:443 -showcerts
デフォルトのポート番号は以下のとおりです。
HTTPS 443
POP over SSL 995
SMTP over SSL 465
IMAPS 993
出力結果の例
アルファSSLのサーバ証明書は3階層ですので、ルート証明書の下には2枚の証明書が存在
しています。[-----BEGIN CERTIFICATE-----] から[-----END CERTIFICATE-----] までが証明書です。
1枚目はお客様の証明書、2枚目は中間証明書であることをご確認ください。
頭に「s」がついているのがその証明書の情報、「i」がついているのがその証明書の発行者の情報です。
※ファイアウォール等で、使用ポートの利用に制限がないことが前提となります。
Apacheでの、パスフレーズ入力なしでの起動方法。
セキュリティ上はパスフレーズつきの鍵をお勧めしますが、以下の手順で解除することが可能なようです。
*Apache等フリーウエアのご利用はお客様の責任においてご利用、ご確認ください。
■パスフレーズなしで鍵を生成する場合
通常の作成方法
# openssl genrsa -des3 -out ./ssl.key/xxxxxxx.key 2048
*"-des3"はdes3アルゴリズムのパスワード保護するという意味です。
パスワードなしの作成方法
# openssl genrsa -out ./ssl.key/xxxxxxx.key 2048
■パスフレーズを後から解除する場合
元ファイルのバックアップ
# cp xxxxxxx.key xxxxxxx.key.org
パスワードの解除
# openssl rsa -in xxxxxxx.key -out xxxxxxx.key
■パスフレーズを自動で読み込ませる場合
Apacheのconfファイルを開き、SSLPassPhraseDialogディレクティブを設定します。
以下はパスフレーズを出力するスクリプトを指定した場合の例です。
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLPassPhraseDialog exec:スクリプトまでの絶対パス ←この行を追記
</IfModule>
参考サイト
http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#sslpassphrasedialog
IISでワイルドカード証明書を使用して、1つのIPアドレスで複数のサイトを利用するには。
※IIS6+ServicePack1以降での対応となります。
1つのIPアドレスに複数サイトを割り当てる場合、HTTPSのホストヘッダーを設定する必要があります。
以下の手順にて設定を行ってください。
Microsoft Internet Information Services で、Webサイトをクリックします。
識別子の数字を確認します。
コマンドプロンプトを立ち上げ、adsutil.vbs のある場所に移動します。
Windows2003サーバ IIS6では、adsutil.vbsは
C:\Inetpub\AdminScripts
にあります。
実行例:
cd c:\Inetpub\AdminScripts
以下のコマンドでHTTPSホストヘッダーを設定します。
cscript.exe adsutil.vbs set /w3svc/
<識別子>
/SecureBindings ":443:
<ホストヘッダー>
"
実行例:
cscript.exe adsutil.vbs set /w3svc/
1282902780
/SecureBindings ":443:
www.kingssl.com
"
問題なく設定されているか確認します。
cscript.exe adsutil.vbs enum W3SVC/
<site identifier>
実行例:
cscript.exe adsutil.vbs enum W3SVC/
1282902780
例の場合、SecureBindings の項目が、":443:www.kingssl.com" となっていれば問題ありません。
以上で設定は完了ですので、httpsで各サイトへアクセスを確認します。
AEP A-Gateシリーズで、証明書をインストールする手順について
「ルート証明書」、「中間証明書」を弊社ウェブサイトからダウンロードします。
リポジトリ・利用規約
https://www.kingssl.com/repository/index.html
ダウンロードした「ルート証明書」を、メモ帳などのエディタで開き、その内容を
System Configuration > SSL > CA Certificates > Upload Newの
Certificate: の部分に貼り付けます。
次に画面下のAssociated services:でWeb Serverのみにチェックをつけ、
[Submit]ボタンをクリックします。
「中間証明書」をメモ帳などのエディタで開き、前の手順と同様に登録を行います。
メールでお送りしましたお客様のサーバ証明書のインストールを行います。
以上となります。
Proxyサーバで使用できますか。
Proxyサーバでの動作につきましては、検証・実績はありませんが、x.509サーバ証明書に対応したCSRを生成する機能が装備されていれば、問題なくインストールが可能かと思われます。
インターネット側よりアクセスされるURLをコモンネームとして、CSRを生成してください。
一点ご注意いただきたいのは、KingSSLは、書類での認証の代わりに、コモンネームの管理者(あるいはドメインの管理者)宛のメールを受信していただく必要があります。
Proxy専用サーバですとメールの設定がないかと思われますので、例えばドメイン宛のメールを受信する等して工夫していただく必要があるかも知れません。
Apacheでワイルドカード証明書を利用する方法
Apacheでサーバ証明書を設定する方法は、通常とほぼ同様となりますが、ネームベースでサイトに
接続するために、NameVirtualHost の設定を行っていただきます。
<設定例>
NameVirtualHost [ご利用のIPアドレス]:443 ←こちらを記載します。
<VirtualHost xxx.xxx.xxx.xxx:443>
DocumentRoot /var/www/html/
ServerName ssl.kingssl.com
以下省略
全てネームベースで読み込ませる場合、IPアドレスの部分は、* (アスタリスク)に置き換えて
いただいても結構です。
NameVirtualHost *:443
通常の設定方法は、以下をご参照下さい。
サーバ証明書のインストール(Apache 2.x + mod_ssl + OpenSSL)
JAVA Keytoolのエラーに関して。
エラーメッセージ:
keytool error: java.security.cert.CertificateParsingException: invalid DER-encoded ertificate data
考えられる理由:
破線の行を含めて保存しているか、証明書の内容を確認してください。
エラーメッセージ:
keytool error: java.lang.Exception: Failed to establish chain from reply Input not an X.509 ertificate.
考えられる理由:
証明書の文字が足りない、または余計なスペースがないか確認してください。
エラーメッセージ:
keytool error: java.lang.Exception: Public keys in reply and keystore don't match
考えられる理由:
秘密鍵が合いません。keystoreが複数ある場合は、別のkeystoreへの登録をお試しください。
合うkeystoreが見つからない場合は証明書の再発行となります。
Keystoreファイルに問題がないか確認する方法
keytoolのご利用方法は以下でご案内しております。
[CSR生成] Keytool (新規・更新)
上記手順で無事インストールが完了しますと、keystoreにはkeyEntryが存在し、証明書連鎖は3となります。
keystoreファイルの内容を確認するには、以下のコマンドを実行してください。
keytool -v -list -keystore [keystoreファイル]
※環境によっては日本語で表示されます。
エントリタイプ: keyEntry
証明書連鎖の長さ: 3
keyEntryがない場合、このkeystoreに秘密鍵が入っていません。お手数ですがCSRの生成に戻り、keystoreファイルの生成からやり直してください。
keyEntryがあり、連鎖が1の場合は、インストール作業前の状態であると考えられます。
インストールの手順に従って、ルート証明書、中間証明書、サーバ証明書のインストールを行ってください。
秘密鍵が合わない場合、サーバ証明書のインストールは行えません。合う鍵が見つからない場合もkeystoreの作り直しが必要です。
CISCO製品への証明書インストールでエラーになる
ご利用の機器に、ルート証明書、中間証明書がインストールされていない場合、
証明書チェーンが確認できず、エラーとなることがございます。
以下よりダウンロードいただき、インストールを行ってください。
リポジトリ
https://www.kingssl.com/repository/index.html#root
※中間証明書はご利用のサービスに合ったものをインストールしてください。
製品についての詳細は、製品マニュアルや、ご購入窓口にてご確認くださいますよう
お願いいたします。
PLESKでワイルドカード証明書を利用するには。
注意※ワイルドカード証明書をお申し込みいただく場合、コモンネームに * (アスタリスク)を含めて いただく必要がありますが、PLESK上では * を含めたCSRを生成することができません。 そのため、Opensslコマンドが実行できる環境をご用意いただき、コマンドでCSRを生成する 必要があります。Linux環境では多くの場合OSと一緒にopensslがインストールされますが、 Windows環境では、別途アプリケーションを導入いただく必要があります。
opensslで生成したCSRでお申し込みいただき、証明書が発行されましたら、PLESKの管理画面から、 秘密鍵、証明書、CA証明書(中間証明書)の3つをインストールしていただきます。
PLESKにadmin権限でログインし、左のメニュー「ドメイン」に進み、SSLを設定したいドメイン名をクリックします。
サービスの中の「証明書」アイコンをクリックします。
ツールの「証明書を追加」アイコンをクリックします。
証明書名 を任意に設定し、「証明書ファイルアップロード」 または 「証明書をテキストとして アップロード」から、秘密鍵、証明書、CA証明書(中間証明書)をアップロードしてください。
一部のバージョンでは、アップロード時に以下のエラーが出ることがあります。
上記が出ましても、証明書一覧で、以下アイコンが表示されていましたら証明書は登録されています。
※一番左のアイコンだけグレーアウトしています。
左のメニューから「クライアント」に進み、SSL設定サイトを管理するクライアント名をクリックします。
ツールの中の「IPプール」アイコンをクリックします。
SSLを設定するIPアドレスをクリックし、SSL証明書のプルダウンから登録した証明書を選択し、 OKボタンを押します。
以上で設定は完了となります。
Webサーバの再起動後設定が有効となります。再起動は自動で実行されますが、15分~30分後に 行われるため、急ぎ設定を確認する場合は手動で再起動を行ってください。
※新しい証明書が正しく認識されない場合、いったん Default Certificate に設定を戻し、 再度お客様の証明書を割り当てることで正しく認識されることがあるようです。 PLESKについての詳細は提供元までご確認くださいますようお願いいたします。
■Webサーバの再起動方法
サーバ >> サービス管理 に進み、Webサーバの右側のをクリック
証明書はバックアップを取っておくことをお勧めします。
■バックアップ方法
証明書メニューで表示される一覧で、をクリック。
証明書のサブジェクトが、CSRと異なります。
「KingSSL」では、ドメインの認証のみを行うため、CSRの内容と、発行される証明書のサブジェクト(ディスティングイッシュネーム)は一致しません。
企業名や所在地にかかわる部分は、証明書発行時に削除、または上書きされ以下の例の様になります。
CN=コモンネーム(FQDN)
OU=Domain Control Validated (ドメイン認証の意味)
C=国コード。
※国コードは、「Baseline Requirements ver1.0」の対応により、お申込み状況等によりC部分が、表示されない場合もございます。
DNSサーバへのCAAレコード登録方法
DNSドメイン名所有者はCAAレコードにホスト名と1つ以上の認証局を登録することで、そのホスト名の証明書を発行する認証局を限定し、登録されていないCAは証明書の発行が行えなくなります。何も設定がされていない場合は、どの認証局でも証明書を発行することができます。
【CAAレコード登録作業が必要となるお客様】
CAAレコードの登録は必ず行わなければならないものではございません。
以下のいずれかに該当する場合に限り、本登録作業が必要となります。
※CAAレコードに認証局の指定をしていない場合は、どの認証局からも発行が可能です。 |
※本ページでは登録方法の一例をご紹介します。詳しい登録方法に関しましては、お使いのDNSサーバアプリケーションのドキュメント等をご確認ください。
※レンタルサーバなどホスティングサービスをご利用の場合は、ホスティング業者様にご確認ください。
【ゾーンファイル設定例】
CAAレコードの登録方法は、お使いのDNSサーバアプリケーションの種類やバージョンによって異なります。下記の表を参考に、ゾーンファイルに設定してください。
※ CAAレコード登録は、KingSSLのroot認証局であるグローバルサインを登録します。
DNSサーバアプリケーション | エントリー例 |
BIND(バージョン9.9.6以降) Knot DNS(バージョン2.2.0以降) NSD(バージョン4.0.1以降) PowerDNS(バージョン4.0.0以降) |
example.com. CAA 0 issue "globalsign.com" |
BIND(バージョン9.9.6未満) NSD(バージョン4.0.1未満) |
example.com. IN TYPE257 \# 21 00056973737565676C6F62616C7369676E2E636F6D |
Google Cloud DNS DNSimple |
0 issue "globalsign.com" |