認証局になるには

ページ名:認証局になるには

主要な認証局(CA)からSSL証明書を取得する場合、100ドル以上かかることもあります。さらに、確立された認証局のすべてが100%信頼できるわけではないことを示すようなニュースもあり、認証局を独自に運営することで、不確実性を回避し、コストを削減することを決断するかもしれません。

パート1

認証局証明書の作成

  1. 以下のコマンドを実行して、認証局の秘密鍵を生成します。
    • openssl genrsa -des3 -out server.CA.key 2048
    • オプションの説明
      • openssl - ソフトウェアの名前
      • genrsa - 新しい秘密鍵を作成する。
      • -des3 - DES暗号を使って鍵を暗号化する。
      • -out server.CA.key - 新しい鍵の名前
      • 2048 - 秘密鍵のビット長 (警告を参照)
    • この証明書とパスワードを安全な場所に保管する。
  2. 証明書署名要求を作成します。
    • openssl req -verbose -new -key server.CA.key -out server.CA.csr -sha256
    • オプションの説明
      • req - 署名要求を作成する。
      • -verbose - 作成中のリクエストの詳細を表示(オプション)
      • -new - 新しいリクエストを作成する
      • -key server.CA.key - 上記で作成した秘密鍵。
      • -out server.CA.csr - 作成する署名リクエストのファイル名
      • sha256 - 署名リクエストに使用する暗号化アルゴリズム(これが何かわからない場合は、変更しないでください。何をしているかわかっている場合のみ変更してください)
  3. 可能な限り情報を入力してください。
    • 国名(2文字のコード) [AU]アメリカ
    • 都道府県名(フルネーム)[Some-State]:カリフォルニア州
    • 地域名(都市名など) []:シリコンバレー
    • 組織名(会社名など) [Internet Widgits Pty Ltd]: wikiHow, Inc.
    • 組織単位名(セクションなど) []:
    • コモンネーム(例:サーバーのFQDNまたはYOURネーム) []:wikiHow.comのCA証明書
    • メールアドレス []: certs@wikihow.com
  4. 証明書を自己署名します:
    • openssl ca -extensions v3_ca -out server.CA-signed.crt -keyfile server.CA.key -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles server.CA.csr
    • オプションの説明
      • ca - 認証局モジュールをロードします。
      • -extension v3_ca - v3_caエクステンションをロードします。
      • -out server.CA-signed.crt - 新しい署名された鍵の名前です。
      • -keyfile server.CA.key - ステップ1で作成した秘密鍵
      • -verbose - 作成中のリクエストの詳細を表示します(オプション)。
      • -selfsign - 同じ鍵を使ってリクエストに署名することを openssl に伝えます。
      • -md sha256 - メッセージに使用する暗号化アルゴリズム。(これが何かわからない場合は、変更しないでください。何をしているのかわかっている場合のみ、これを変更する必要がある)
      • -enddate 330630235959Z - 証明書の終了日。表記はYYMMDDHHMMSSZ。ZはGMTで、「Zulu」時間として知られることもある。
      • -infiles server.CA.csr - 上記の手順で作成した署名要求ファイル。
  5. CA証明書を検査する。
    • openssl x509 -noout -text -in server.CA.crt
    • オプションの説明
      • x509 - 署名済み証明書を検査するためにx509モジュールをロードします。
      • -noout - エンコードされたテキストを出力しない。
      • -text - 情報を画面に出力する
      • -in server.CA.crt - 署名された証明書をロードします。
    • server.CA.crtファイルは、あなたのウェブサイトを利用する人や、あなたが署名する予定の証明書を使用する人に配布することができます。
パート2

Apacheなどのサービス用のSSL証明書の作成

  1. 秘密鍵を作成します。
    • openssl genrsa -des3 -out server.apache.key 2048
    • オプションの説明
      • openssl - ソフトウェアの名前
      • genrsa - 新しい秘密鍵を作成する。
      • -des3 - DES暗号を使って鍵を暗号化する。
      • -out server.apache.key - 新しい鍵の名前
      • 2048 - 秘密鍵のビット長 (警告を参照)
    • この証明書とパスワードを安全な場所に保管してください。
  2. 証明書署名要求を作成します。
    • openssl req -verbose -new -key server.apache.key -out server.apache.csr -sha256
    • オプションの説明
      • req - 署名リクエストを作成する。
      • -verbose - 作成中のリクエストの詳細を表示する(オプション)
      • -new - 新しいリクエストを作成する
      • -key server.apache.key - 上記で作成した秘密鍵。
      • -out server.apache.csr - 作成する署名リクエストのファイル名
      • sha256 - 署名リクエストに使用する暗号化アルゴリズム (これが何かわからない場合は、変更しないでください。何をしているのか分かっている場合のみ変更してください)
  3. CA証明書を使って新しい鍵に署名します。
    • openssl ca -out server.apache.pem -keyfile server.CA.key -infiles server.apache.csr
    • オプションの説明
      • ca - 認証局モジュールをロードする。
      • -out server.apache.pem - 署名された証明書のファイル名
      • -keyfile server.CA.key - リクエストに署名する認証局証明書のファイル名
      • -infiles server.apache.csr - 証明書署名要求のファイル名
  4. 可能な限り記入してください:
    • 国名(2文字のコード) [AU]:米国
    • 州または県名(フルネーム) [Some-State]:CA
    • 地域名(都市名など) []:シリコンバレー
    • 組織名(会社名など) [Internet Widgits Pty Ltd]: wikiHow, Inc.
    • 組織単位名(セクションなど) []:
    • コモンネーム(例:サーバーのFQDNまたはYOURネーム) []:wikiHow.com の Apache SSL 証明書
    • メールアドレス []: certs@wikihow.com
  5. 秘密鍵のコピーを別の場所に保存します。Apache がパスワードの入力を要求しないように、パスワードなしで秘密鍵を作成します:
    • openssl rsa -in server.apache.key -out server.apache.unsecured.key
    • オプションの説明
      • rsa - RSA暗号化プログラムを実行します。
      • -in server.apache.key - 変換したい鍵の名前。
      • -out server.apache.unsecured.key - 新しい安全でない鍵のファイル名。
  6. 出来上がったserver.apache.pemファイルを、ステップ1で生成した秘密鍵とともに使用して、apache2.confファイルを設定します。
パート 3

認証用ユーザ証明書の作成

  1. Apache 用 SSL 証明書の作成_ のすべての手順に従います。
  2. 署名した証明書を PKCS12 に変換します。
    • openssl pkcs12 -export -in user_cert.pem -inkey user_private_key.pem -out user_cert.p12
パート4

S/MIME電子メール証明書の作成

  1. 秘密鍵を作成する。
    • openssl genrsa -des3 -out private_email.key 2048
  2. 証明書署名要求を作成する。
    • openssl req -new -key private_email.key -out private_email.csr
  3. CA証明書を使用して新しい鍵に署名する。
    • openssl ca -out private_email.pem -keyfile server.CA.key -infiles private_email.csr
  4. 証明書をPKCS12に変換する。
    • openssl pkcs12 -export -in private_email.crt -inkey private_email.key -out private_email.p12
  5. 配布用の公開鍵証明書を作成する。
    • openssl pkcs12 -export -out public_cert.p12 -in private_email.pem -clcerts -nokeys -name "ウィキハウスの公開鍵"
この記事はCC BY-NC-SAの下で公開された " How to Be Your Own Certificate Authority " を改変して作成されました。特に断りのない限り、CC BY-NC-SAの下で利用可能です。

シェアボタン: このページをSNSに投稿するのに便利です。

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する

NG表示方式

NGID一覧