アパッチ
著者: sustomer
証明書に手動で署名する方法
MOD_SSL をインストールするときに、makecertificate コマンドを使用してサーバー
の証明書署名を確立しましたが、場合によっては変更が必要になる場合があります。
もちろん、それを実現するための自動スクリプトはたくさんありますが、最も信頼できる方法は、
証明書に手動で署名することです。
まず、openssl と MOD_SSL がインストールされていることを前提としています。openssl インストールのプレフィックスが /usr/local/openssl に設定されている場合は、
実行ファイルの検索パスに /usr/local/openssl/bin を追加します。 。 MOD_SSL ソース コードにもスクリプトが必要です。このスクリプトは、MOD_SSL の
ソース コード ディレクトリ ツリーの下にある pkg.contrib ディレクトリにあります。ファイル名は、sign.sh です。
それを /usr/local/openssl/bin にコピーします。
最初に CA 証明書を作成します。
最初に CA の RSA 秘密キーを作成します。
[S-1]
openssl genrsa -des3 -out ca.key 1024
システムは、PEM パス フレーズの入力を求めます。パスワード、入力したら覚えておいてください。
ca.key ファイルを生成し、ファイル属性を 400 に変更して、安全な場所に置きます。
[S-2]
chmod 400 ca.key
次のコマンドで内容を表示できます。
[S-3]
openssl rsa -noout -text -in ca.key
CA の RSA キー A self を使用して作成-署名された CA 証明書 (X.509 構造)
[S-4]
openssl req -new -x509 -days 3650 -key ca.key -out ca.crt
次に、次の情報を入力する必要があります:
国名: cn 2 文字の国コード
州名または省名: 安回省名
地域名: 蚌埠市名
組織名: Family Network 会社名
組織単位名: Home 部門名
通称: Chen Yang お名前
メールアドレス: sunstorm@263.net メールアドレス
ca.crt ファイルを生成し、ファイル属性を 400 に変更して、安全な場所に置きます。
[S-5]
chmod 400 ca.crt
次のコマンドで内容を表示できます。
[S-6]
openssl x509 -noout -text -in ca.crt
以下はサーバーを作成する手順です。証明書署名リクエスト 、
まず Apache の RSA 秘密キーを作成します:
[S-7]
openssl genrsa -des3 -out server.key 1024
ここでパスフレーズも設定する必要があります。
server.key ファイルを生成し、ファイル属性を 400 に変更して、安全な場所に置きます。
[S-8]
chmod 400 server.key
次のコマンドを使用してその内容を表示できます、
[S-9]
openssl rsa -noout -text -in server.key
server.key を使用して証明書を生成します署名 リクエスト CSR
[S-10]
openssl req -new -keyserver.key -outserver.csr
ここにも、[S-4] の内容と同様の情報を入力する必要があります。
「追加」属性を入力する必要はありません。
CSRの詳細を表示できます
[S-11]
openssl req -noout -text -in server.csr
以下の証明書に署名できます。スクリプトsign.shを使用する必要があります
[S- 12]
sh server.csr に署名します
server.crt を取得できます。
ファイルの属性を 400 に変更し、安全な場所に置きます。
[S-13]
chmod 400 server.crt
CSRの削除
[S-14]
rm server.csr
Apacheの最終設定
Apacheコンパイルパラメータのプレフィックスが/usr/local/apacheの場合、
次に、server.crtとserver.keyを/usr/local/apache/confにコピーします
httpd.confを変更します
次のパラメータを次のように変更します:
SSLCertificateFILE /usr/local/apache/conf/server.crt
SSLCertificateKeyFile /usr/ local/apache/conf/server.key
apachectl startsl を試すことができます。