Memo

メモ > サーバ > 各論: SSL証明書

■SSL証明書
SSL証明書についての勉強メモ 【図解】よく分かるデジタル(SSL/TLS)証明書の仕組み 〜https通信フロー、CSR、自己署名(オレオレ)証明書、ルート証明書、中間証明書の必要性や扱いについて〜 | SEの道標 https://milestone-of-se.nesuke.com/sv-advanced/digicert/digital-certification-summary/ 【図解】初心者にもわかりやすい『公開鍵・秘密鍵』の仕組み 〜近で具体的な利用例やメリット〜 | SEの道標 https://milestone-of-se.nesuke.com/sv-advanced/digicert/public-private-key/ 中間証明書の必要性、証明機関(認証局)の階層化の理由 | SEの道標 https://milestone-of-se.nesuke.com/sv-advanced/digicert/ca-hierarchy/ CSRとは? | SSL入門ガイド | CSP SSL https://cspssl.jp/guide/csr.php OpenSSLでキーペアやCSRを作成する手順 - Qiita https://qiita.com/dribble13/items/52372ffbd218d2b019f8 秘密鍵から公開鍵作る - Qiita https://qiita.com/koudaiii/items/45f9f5929afb0039ffdb OpenSSLコマンドの備忘録 - Qiita https://qiita.com/takech9203/items/5206f8e2572e95209bbc RSA鍵、証明書のファイルフォーマットについて - Qiita https://qiita.com/kunichiko/items/12cbccaadcbf41c72735 Open-SSLで作ったCSRファイルの電子署名を解析してみた - Qiita https://qiita.com/izuki_y/items/15f755d150d251c0533b CSRとは何ですか | Symantec https://knowledge.symantec.com/jp/support/ssl-certificates-support/index?vproductcat=V_C_S&vdoma... (短いビット長の)RSA暗号を解いてみる - clock-up-blog http://blog.clock-up.jp/entry/2016/12/15/crack-rsa-key オレオレ証明書を使い続ける上場企業をまとめてみた - megamouthの葬列 https://www.megamouth.info/entry/2020/01/16/224511 図解 X.509 証明書 - Qiita https://qiita.com/TakahikoKawasaki/items/4c35ac38c52978805c69 SSHの公開鍵暗号には「RSA」「DSA」「ECDSA」「EdDSA」のどれを使えばよいのか? - GIGAZINE https://gigazine.net/news/20200828-ssh-encryption-algorithm/ 暗号の歴史と現代暗号の基礎理論(RSA, 楕円曲線)-前半- - ABEJA Tech Blog https://tech-blog.abeja.asia/entry/cryptographic-fundamental-theory-202304-1 暗号の歴史と現代暗号の基礎理論(RSA, 楕円曲線)-後半- - ABEJA Tech Blog https://tech-blog.abeja.asia/entry/cryptographic-fundamental-theory-202304-2 プログラマのための公開鍵による暗号化と署名の話 https://zenn.dev/herumi/articles/pke-signature-for-programmer
■SSLの概要
■SSLとTLS SSLは「Secure Socket Layer」の略で、インターネット上でやりとりされるデータの「盗聴」「改ざん」「なりすまし」を防止するための通信方式 SSLの設計を根本から見直して新しく作成されたものがTLSで「Transport Layer Security」の略 よって現在使われているのはTLSだが、馴染みのあるSSLという名前で呼ばれ続けている ■暗号化とハッシュ化 ハッシュ化は、復号化を前提としていない 暗号化は、復号化を前提としている ハッシュ化とは?暗号化との違いや利用シーンを詳しく解説!|ITトレンド https://it-trend.jp/encryption/article/64-0065 ■公開鍵暗号方式と共通鍵暗号方式 共通鍵暗号方式は、暗号化するための鍵とそれを復号するための鍵に同じものを使用する方式 公開鍵暗号方式は、暗号化(復号)するときに「公開鍵」「秘密鍵」という別々の鍵を用いる方式。共通鍵暗号方式よりも複雑で処理コストも高い SSLでも共通鍵暗号方式で暗号化と復号化を行うが、共通鍵を安全にやりとりしてからとなる 共通鍵を安全にやりとりするために公開鍵暗号方式を使用する PKIとは?|GMOグローバルサイン【公式】 https://jp.globalsign.com/ssl-pki-info/pki/aboutpki.html ■公開鍵暗号方式の仕組み 公開鍵で暗号化されたものを、秘密鍵によって復号化できる暗号化方式 クライアントは、ルート証明書(公開鍵が含まれており、ブラウザに組み込まれている)を持っている Webサーバには、サーバ証明書(公開鍵が含まれている)と秘密鍵が組み込まれている(SSL導入の際に組み込む) サーバ証明書は、中間認証局によって中間証明書を使って発行される その中間証明書は、ルート認証局によってルート証明書を使って発行される ルート証明書は、はじめからブラウザに組み込まれている この前提で、以下の流れで暗号化通信が行われる 1. クライアントからWebサーバに、接続要求を行う 2. Webサーバからクライアントに、サーバ証明書を送る 3. クライアントは、ルート証明書でサーバ証明書の妥当性を検証する 4. クライアントは、共通鍵を生成する 5. クライアントは、サーバ証明書内の公開鍵で共通鍵を暗号化する 6. クライアントからWebサーバに、暗号化した共通鍵を送付する 7. Webサーバは、暗号化された共通鍵を秘密鍵で複合する 8. クライアントとWebサーバの両方が共通鍵を持ったことになるので、以降は共通鍵で暗号化通信を行う より簡易に書くと 1. クライアントは、Webサーバからサーバ証明書を受け取る 2. クライアントは共通鍵を生成し、サーバ証明書内の公開鍵で暗号化する 3. Webサーバは、クライアントから暗号化された共通鍵を受け取る 4. Webサーバは、暗号化された共通鍵を秘密鍵で複合する という流れになる 公開鍵だけで複合できない根拠は「SSL証明書の安全性と有効期限」を参照 SSL/TLS暗号化通信の仕組み|GMOグローバルサイン【公式】 https://jp.globalsign.com/ssl-pki-info/ssl_practices/ssl_encryption.html 【図解】SSL/TLSとは何か?仕組みや導入方法をわかりやすく解説します | カゴヤのサーバー研究室 https://www.kagoya.jp/howto/rentalserver/ssl/ SSLって何?意味や仕組みをわかりやすく解説! | さくらのSSL https://ssl.sakura.ad.jp/column/ssl/ ■証明書の関係 秘密鍵 … 流出してはいけない鍵ファイル 公開鍵 … 流出しても問題無い鍵ファイル CSR … 証明書を発行するための署名要求(Certificate Signing Request)。つまり認証局に対し、SSLサーバ証明書への署名を申請する内容 CSRには、公開鍵、発行者情報やコモンネーム(FQDN)、電子署名(もとのCSRをハッシュ化し、さらに秘密鍵で暗号化したもの)が含まれる 秘密鍵があれば、CSRは何度でも生成できる 証明書 … 認証局から発行されるSSL証明書 CSRをもとに発行される 中間証明書 … 認証局から発行されるSSL証明書 証明書に階層構造を持たせることにより、認証局が攻撃されたときの影響を抑えている CSRについて教えてください。 https://jp.globalsign.com/support/faq/65.html ■秘密鍵と変換 秘密鍵には以下のように複数の種類があり、それぞれ変換することができる id_rsa ... Linux上で「ssh-keygen -t rsa」などによるSSH鍵作成をした際の秘密鍵。RSAは、桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠とした暗号化方式 pem ... 「Privacy Enhanced Mail」の略で、電子メール暗号化技術。OpenSSH形式の秘密鍵。AWSで作成されるキーペアもこの形式 ppk ... 「Putty Private Key」の略で、PuTTY形式の秘密鍵。WinSCPやTera Termなどで使用される id_rsa⇒pem⇔ppk 相互変換 | Punio Kid Works https://web.archive.org/web/20191229185925/http://www.puniokid.com/tips/linux/69/ SSH秘密鍵 id_rsa -> putty形式&OpenSSH形式に変換 - Qiita https://qiita.com/dskst/items/391fc55018fbf3cf795e
■証明書の種類
■概要 今さら聞けない SSL 証明書とは、DV、OV、EV や常時 SSL について|レンタルサーバーナレッジ https://knowledge.cpi.ad.jp/security-info/244/ 証明書には以下の種類がある ・DV(ドメイン認証) … ドメイン名が正しいかどうかを認証する ・OV(実在証明型) … ドメイン名に加え、運営組織名(会社名)も証明する ・EV(実在証明拡張型) … ドメイン名と運営組織名(会社名)に加え、住所や法人番号も証明する 運営組織名や住所などを実際に確認する場合、ブラウザの鍵アイコンをクリックして 「この接続は保護されています → 証明書は有効です」 で表示されるウインドウの 「詳細」 タブ内の 「証明書のフィールド → 件名」 で確認できる(2022年12月時点のChromeで確認した手順) SSL証明書のEV・OV・DVの違いとブラウザでの見え方について - Rainbow Engine https://rainbow-engine.com/sslcert-ev-ov-dv-diff/ 以下は実際の商品(証明書)案内の例 SSL認証タイプ別機能・サービス内容一覧|GMOグローバルサイン【公式】 https://jp.globalsign.com/ssl/guide/functions.html SSLサーバ証明書お申し込みガイド|GMOグローバルサイン【公式】 https://jp.globalsign.com/ssl-shop/new-order/ CSRを作成する際にディスティングイッシュネーム(サイトやサイト運営団体に関わる情報)を入力する 証明書の種類によって、これらがどこまで証明書に反映されるかの差がある ディスティングイッシュネームとは何ですか | GMOグローバルサイン サポート https://jp.globalsign.com/support/cert-management/distinguish-name.html ■OV(実在証明型)による組織名表示の具体例 企業認証SSL byGMO|GMOグローバルサイン【公式】 https://jp.globalsign.com/ssl/bizssl.html CSR作成時に以下を入力したとする (EVでなければLocality Nameは反映されないし、OVでなければさらにOrganization Nameも反映されないはず DVの場合は最低限の情報だけ入力して進めれば良さそうではある 要検証)
Country Name (2 letter code) [XX]:JP State or Province Name (full name) []:Tokyo Locality Name (eg, city) [Default City]:Shibuya Organization Name (eg, company) [Default Company Ltd]:refirio Co.,Ltd Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:refirio.net Email Address []:refirio@example.com
グローバルサインで「クイック認証SSL byGMO」の購入直前まで進めてみると、 「CSR解析結果」の項目に「O」は表示される。ただし「審査される証明書の内容」では表示されない 「クイック認証SSL byGMO」ドメイン認証なので、作成される証明書の内容からは省かれる また
「クイック認証SSL」では、ドメインの認証のみを行うため、CSRの内容と発行される証明書のディスティングイッシュネームは一致しません。 企業名や所在地に関する部分は、証明書発行時に削除、または上書きされますので、すべての内容を反映させたい場合は、「企業認証SSL」のご利用をご検討ください。 http://jp.globalsign.com/support/index.php?action=artikel&cat=8&id=74&artlang=ja
と説明も表示される つまり組織名を証明書に反映されたければ、企業認証SSLにする必要がある グローバルサインで「企業認証SSL byGMO」の購入直前まで進めてみると、「O」が「審査される証明書の内容」にも表示された また
上記内容と、登記簿謄本または第三者データベース(帝国データバンク、DUNSナンバー)を照らしあわし審査を行ないます。 誤って入力されますと、再申請が必要となり、発行までに通常よりお時間を要する場合がございます。 よく情報をご確認の上、お申し込みください。
と説明も表示される このまま進めていくと、「申請組織情報」の入力画面が表示され、 「第三者データベース情報」の入力欄が表示される 情報は「DUNSナンバー」か「帝国データバンクコード」を選択して入力するようになっている (あわせて、サイトシール用に「番地、地名(英語)」「ビル名(英語)」の入力欄も表示される) この申請内容をもとにグローバルサイン側で確認が取れれば、証明書が即日発行されるのだと思われる 確認が取れない場合、組織に対して電話確認などが行なわれるのだと思われる ■組織単位名の表示 証明書の OU(組織単位名)は非推奨へ、来年からは利用禁止に|BLOG| サイバートラスト https://www.cybertrust.co.jp/blog/ssl/regulations/ou-usage-prohibit.html OU(組織単位名)は禁止されるとのこと (ここには部署名などを入力することが多いようだが、個人的には普段から空欄でCSRを作成している) 恐らく「2022年9月1日以降に発行する証明書には、OUは反映されない」というだけで、 証明書発行の作業内容などには特に影響しないはず ■OV(実在証明型)を導入する際の具体的な流れ ここでは「作業者」が「クライアント」からの依頼を受け、「クライアント」のWebサイトにOV(実在証明型)を導入するものとする 前提として、申し込みは作業者アカウントからではなく、 下記「新規お申し込み」ページ最下部の「<アカウントをお持ちでないお客様> 今すぐ証明書をご購入」から行う必要がある これにより、(クライアント用の)新たなアカウント作成と証明書のお申し込みを同時に行うことになる 企業認証SSL byGMO 新規お申し込み https://jp.globalsign.com/ssl-shop/new-order/bizssl.html [企業認証SSL byGMO] 証明書新規お申し込み フォームサンプル https://jp.globalsign.com/introduce/ssl/formsample/bizssl.php?sta=new&sv=cert そのうえで、申し込みにあたって作業者が行うべきことは以下となる ・クライアントから「組織情報」の内容を引き上げる 住所や電話番号は、クライアントのホームページに掲載されているような情報でいい ・クライアントから「契約者情報」の内容も引き上げる 氏名は情報処理部署のようなものがあれば、そこの担当者名でいい 電話番号やメールアドレスも、その部署のもので問題無い もし専用の電話番号が無ければ、「組織情報」と同じにする。ただしこの場合、「組織情報」に記載の電話番号で担当者名が会話できる必要がある パスワードは「契約者情報」のメールアドレスには通知されず、必要なら作業者からクライアントに共有することになる ・「支払い担当者情報」は作業者の情報を入力する この情報は、SSL証明書の内容には一切影響しない パスワードは作業者がGSパネルにログインする際に使用する。原則、クライアントと同じ情報を参照できる ・「技術担当者情報」は作業者の情報を入力する この情報は、SSL証明書の内容には一切影響しない ・購入した証明書は、「契約者情報」で指定したメールアドレスと、「技術担当者情報」で指定したメールアドレスに送られる 証明書更新の案内も、「契約者情報」で指定したメールアドレスと、「技術担当者情報」で指定したメールアドレスに送られる ・電話審査の連絡は第三者データベースに記載の代表電話番号へ、「契約者情報」に入力した方宛に行なわれる 代表電話番号から「契約者情報」に入力されている人へ取次ぎできない場合、代表電話番号で電話を取った人が「契約者情報」に記載の電話番号を伝える必要がある よってクライアントには、上記の電話があることをあらかじめ伝えておく必要がある ・「支払い担当者情報」と「技術担当者情報」を作業者にしておけば、来年以降のSSL証明書更新も作業者で作業できる ただし、電話での審査は更新の都度行われるので、「前年と同様、電話での審査の連絡がきます。担当者名の変更などは無いでしょうか?」な内容を、あらかじめクライアントに伝えておく必要がある 初回発行の手間がかかるのはもちろん、毎年クライアントに電話確認が行くなど、なかなか手間がかかることになる OVだからと言って暗号化の強度が向上するわけでは無いので、本当に必要かどうかはよく考えて導入したい ■メールアドレスの入力 CSRのメールアドレスは、証明書に反映されるものと反映されないものがあるみたい 自分で作るときは、基本的に入力しておけば良さそうではある 【疑問質問】 CSRには何を入力すれば良いのか? | 大手正規SSL証明書が定価よりMAX66%OFFから 【 SSLコンシェル 】 https://www.ssl-concier.com/news/topics/230 OpenSSLでCSR作成 | サイフにやさしいSSL証明書 https://www.slogical.co.jp/ssl/faq/csr_openssl/ ディスティングイッシュネームとは何ですか | GMOグローバルサイン サポート https://jp.globalsign.com/support/cert-management/distinguish-name.html ■ブランドによる金額の差 どのブランドが発行しても、証明書の暗号化強度は同じ ただ「あの有名なセキュリティ会社が発行した証明書だからいいものなのだろう」という知名度と信頼度によって金額が上げられていることが多い (例えばシマンテックやセコムなど) あとは 「サポートを充実させています」「サイトシール(サイト上で紹介できる証明書みたいなもの)を提供します」「1つの証明書で複数のサブドメインに対応できます(ワイルドカード)」 など、サポートや機能によっても金額が異なる SSL証明書のブランドによる違い | さくらのSSL https://ssl.sakura.ad.jp/column/ssl-brand-compare/ SSLサーバ証明書の認証局(ブランド)の種類と違い | ServerKurabe https://serverkurabe.com/ssl-brand/
■SSLの導入
■大まかな流れ 1. 秘密鍵を作成する 2. 秘密鍵をもとにCSRを作成する 3. CSRをもとに証明書を発行する(SSL証明書を購入する) 4. 発行された証明書を、秘密鍵とセットでサーバに組み込む 証明書を発行する際、その内容が妥当かどうかはルート証明書の公開鍵が使われる ルート証明書の秘密鍵が流出するとすべてのSSL証明書の再発行が必要になって影響が大きいので、中間証明書を間に挟む ルート証明書は通常ブラウザに組み込まれているが、中間証明書は組み込まれていない よって証明書とともに、中間証明書もサーバに組み込む必要がある ルート証明書の秘密鍵は、攻撃による流出を避けるためオフラインで管理される ■SSL用に鍵を作成する
# cd /etc/httpd/conf/ # openssl genrsa -des3 -out ssl.key/refirio.net.20170417.key 2048 … 秘密鍵を生成 # openssl req -new -key ssl.key/refirio.net.20170417.key -out ssl.csr/refirio.net.20170417.csr … CSRを生成 Country Name (2 letter code) [XX]:JP State or Province Name (full name) []:Tokyo Locality Name (eg, city) [Default City]:Shibuya Organization Name (eg, company) [Default Company Ltd]:refirio.net Organizational Unit Name (eg, section) []: Common Name (eg, your name or your server's hostname) []:refirio.net Email Address []:refirio@example.com # openssl rsa -in ssl.key/refirio.net.20170417.key -out ssl.key/refirio.net.20170417.key … 秘密鍵からパスワード削除 # openssl rsa -in ssl.key/refirio.net.20170417.key -pubout > /path/to/public.20170417.key … 秘密鍵から公開鍵を生成する場合(参考までに。今回は不要)
これで秘密鍵とCSRを作成できた SSL証明書を購入する際は、このうちCSRの情報を登録する 購入が完了すると、証明書と中間証明書を入手できる 今回はそれぞれ refirio.net.20170417.crt と refirio.net.20170417.ca として保存するものとする
# cd /etc/httpd/conf/ # vi ssl.crt/refirio.net.20170417.crt … 入手した証明書を配置 # vi ssl.crt/refirio.net.20170417.ca … 入手した中間証明書を配置
一例だが、以下のようにしてApacheに組み込む 証明書関連の設定以外や設定箇所は、あくまでも一例
# vi /etc/httpd/conf.d/virtualhost.conf … Apacheの設定ファイルから各ファイルを指定
<VirtualHost *:443> ServerName refirio.net DocumentRoot /var/www/vhosts/main/html ErrorLog logs/ssl_error_log TransferLog logs/ssl_access_log LogLevel warn SSLEngine on SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW SSLCertificateFile /etc/httpd/conf/ssl.crt/refirio.net.20170417.crt … 証明書を指定 SSLCertificateKeyFile /etc/httpd/conf/ssl.key/refirio.net.20170417.key … 秘密鍵を指定 SSLCertificateChainFile /etc/httpd/conf/ssl.crt/refirio.net.20170417.ca … 中間証明書を指定 <Directory "/var/www/vhosts/main/html"> Options Includes FollowSymLinks ExecCGI AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
# systemctl restart httpd … Apacheを再起動
完了したらブラウザからアクセスし、証明書の有効期限を確認する 以降では、このSSL用のファイルについて詳細を確認する ■SSHでの認証用に鍵を作成する場合(参考までに。SSL証明書には不要)
$ cd $ ssh-keygen -t rsa … 鍵タイプRSAの鍵を作成 $ cd /home/refirio/.ssh $ cp id_rsa.pub authorized_keys $ chmod 600 authorized_keys
認証用に id_rsa (秘密鍵)と id_rsa.pub (公開鍵)が作成される 同じ場所に authorized_keys が配置されていることがあるが、これは認証済みの id_rsa.pub が記録されるファイル アクセス元で id_rsa.pub を作成した場合、その内容を authorized_keys に追記しておけばアクセス元に id_rsa.pub は不要 (アクセス元が一つなら、authorized_keys と id_rsa.pub の内容は同一になる) id_rsa はアクセス元のどこに置いても大丈夫だが、セキュリティ上パーミッションを0600にしておかないと使えない これで秘密鍵 /home/refirio/.ssh/id_rsa をダウンロードして、接続時に鍵ファイルとして指定すれば、 SSHで refirio ユーザとして鍵認証で接続できる Linuxコマンド【 ssh-keygen 】認証用の鍵を生成 - Linux入門 - Webkaru https://webkaru.net/linux/ssh-keygen-command/ ssh公開鍵認証を実装する - Qiita https://qiita.com/HamaTech/items/21bb9761f326c4d4aa65 ■セキュリティビット数について 鍵を作成する際に2048という数を指定しているが、これがセキュリティビット数 脆弱性の知られていない共通鍵暗号を破るには、攻撃者はパターンを総当たりに試す必要がある この試行回数を基準として、2のべき乗として尺度にしたものがセキュリティービット数 例えば64ビットの場合、2の64乗(1844京6744兆737億955万1616)パターンの鍵を持つことになる なお公開鍵暗号はその性質から、秘密鍵のビット数で表現できる数値のすべてが鍵になるわけでは無い 暗号スイートの暗号強度と、公開鍵のビット数の設定、及びRSAとECDHEでサーバ負荷の比較 - Apache 2.4系でHTTP/2対応サーバを構築してみるテスト。 https://http2.try-and-test.net/ecdhe.html なお、2の2048乗を計算すると以下になる 無量大数が10の68乗なので、もはや名前がつかない巨大な数になる 32317006071311007300714876688669951960444102669715 48403213034542752465513886789089319720141152291346 36887179609218980194941195591504909210950881523864 48283120630877367300996091750197750389652106796057 63838406756827679221864261975616183809433847617047 05816458520363050428875758915410658086075523991239 30385521914333389668342420684974786564569494856176 03532632205807780565933102619270846031415025859286 41771167259436037184618573575983511523016459044036 97613233287231227125684710820209725157101726931323 46967854258065669793504599726835299863821552516638 94373355436021354332296046453184786049521481935558 53611059596230656 ■SSL証明書の安全性と有効期限 RSAは、桁数が大きい合成数の素因数分解問題が困難であることを安全性の根拠とした暗号化方式 例えば二つの素数の積「19 × 37 = 703」を求めることは容易だが、素数の積から二つの素数「703 = 19 × 37」を求めるには総当たりで計算するしか無い 桁数が少なければ計算は難しくないが、桁数が多くなると計算に時間がかかる とは言え時間をかければ計算できるので、SSL証明書には通常1年の有効期限が設けられている コンピュータの性能向上の影響で、SSL証明書の有効期限は徐々に短く設定されるようになっている またSSL証明書の署名に不備があったなどで大量の証明書を失効せざるを得ない場合、 有効期限は短ければ短いほど影響範囲は少なくて済む 有効期限は今後も短くなっていく可能性がある 証明書の差し替え作業を機械的にできるようにするか、自動更新できるようにするなどの検討が必要 何度も短縮し過ぎ?!SSL証明書の有効期間がどんどん短くなる理由とは? | さくらのSSL https://ssl.sakura.ad.jp/column/shortened-ssl/ ■量子コンピュータについて 上記のように、共通鍵暗号を破るにはパターンを総当たりに試す必要がある 現在のコンピュータではこの総当りを現実的な時間で行えないため、これが安全性の根拠となっている ただし現在は量子コンピュータが研究されていて、これが実用化されると現在のSSL通信は解読されてしまう可能性がある SSL通信も量子コンピュータの前では無意味に? 今から備えるべき「耐量子コンピュータ暗号」とは - ITmedia NEWS https://www.itmedia.co.jp/news/articles/1911/15/news072.html 量子コンピュータによる暗号解読を防ぐためには、規格が定まり、導入可能になったらすぐに導入すること とされている
■ファイルの内容
秘密鍵、CSR、証明書、中間証明書、公開鍵の内容は、 それぞれ一例だが以下のようなものになっている ■秘密鍵
$ cat /etc/httpd/conf/ssl.key/refirio.net.20170417.key -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA3qcH4FmqwjRt3i+0iLuF/KO0QK++agW2W+YazGNIzyFD+XZo tK89vTxtKycaVhrmGzbZTwiiE4ihdigtEm8V3YFY9+EbJX2q5CaERztyoQlDoIOF ap4S0tpQnF+KbuCaAiDp4NyTxslKne97uXNeiMG0FxVJK+UP9gU4JsW7ymyuV3Fa dTYetMDvwAAyg2n6D3cxrZxo814o5yy5xR4U/llXwVoq7AOqQXanglXZeaLkINIm U3Qhe/tFlEExAjUESBvBa1NZtnuhtU1439yU+swYwQxNlZb9FAnsSU4lAai8jtmW 0cQsnixMGNMf6OvpUnNn/8GcMZif1pthLnsYDQIDAQABAoIBAGehKHpUYbToQCbE 32swlKlE7HWbFq40IG9fhyOQJmg5nHC0mwFV+w9j24/VMF3ZQTZzbetqIj2jPztG ccv9philxmoA/OiTOAHep3yb/7tSG4bPED7SegJnmFNf6Ie4xBWvigudvq4sLC2c NGLZfqt6NL71qkvi3m3sefkZ2VDaLFks8kJD4MCyKUQfbIcGccL96sNZymU2jsDN X5EOTjoXTtvbZhFdnlvssZK2VJzPDcGl3OYxyYRyWJpoxyLXI0+OFKWAYoVJzgFj e4drqnIMBa4Fy67FL5YOa2irNirjcH0I+GrFAxck5DqhmR206miQgzM/M0auqxkw 〜略〜 2vWS03J+AQnvgO+CkDmSB5stggO/CQ2lpn9mUjYt8UXR1JYJ38pNw42Mt1CHkfXg jArnbjs8cZTClh+cbX1nCGLJEZyGk+yQpK6AfuPmvIExkold3OLz5fJX8ab49mAB dlbtkEBww0hVNQKrVTD3sRCgBglM5kwasMd44iUCgYAPMCAoVX58Rhvg3Rfs2p4x FzhpGexaZvHr8B6FNt41grcpnoZ6OLwwTJyAJ97cUjY1eLpAFGFu6kAxnB3VPthM OFGw83RPO9QJQBRLonqnqj2+U8dsExWoQaQvBqNraG+zgxZr7GImK57EkVdEXaLV r4ndEfXzy8IzfXoo/IyxgQKBgHaRGWmTpUCpTffBJJ+IXPt5AyYyxnK69bp4M8i0 9I88adF0WuvM84hTKGbDSyKUPWFusHfjg1Cc79vrg6uc3qzAs+dp7xrKZcRMeoK9 iXhijerwfRt9AUzKIk+S8+6eVMvJ0dcumEsAPmMgnvW2y5kfpwS+epLCJsixwi0U mumVAoGBAOlUJgLuqxYqb0/9SRtPAlTVCo+KOJZ6iNFPl5hCFJDHZxS/QPl2Aojt GqUaGQmTDKZtl4GKN6OlKYOyvFxedobG9rHLNED9f3LumNIOXm3Eq4cTcQFvY4Ev 4V+Dd6lf5DxGLfBpPvdidABffyBQMj7m1qxncaPN+I4/X16iRfN0 -----END RSA PRIVATE KEY-----
■CSR
$ cat /etc/httpd/conf/ssl.csr/refirio.net.20170417.csr -----BEGIN CERTIFICATE REQUEST----- MIICvjCCAaYCAQAweTELMAkGA1UEBhMCSlAxDjAMBgNVBAgMBU9zYWthMQ4wDAYD VQQHDAVPc2FrYTESMBAGA1UECgwJa2luZGFpLmpwMRIwEAYDVQQDDAlraW5kYWku anAxIjAgBgkqhkiG9w0BCQEWE3NlcnZlckB0ZXJyYXBvcnQuanAwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDepwfgWarCNG3eL7SIu4X8o7RAr75qBbZb 5hrMY0jPIUP5dmi0rz29PG0rJxpWGuYbNtlPCKITiKF2KC0SbxXdgVj34Rslfark JoRHO3KhCUOgg4VqnhLS2lCcX4pu4JoCIOng3JPGyUqd73u5c16IwbQXFUkr5Q/2 〜略〜 BgkqhkiG9w0BAQUFAAOCAQEAS8vDiyoAY235tACDRjOze2a2fiDBykHe3QqL4N6u 7zio9Mv2ushuKA2yM7qneJMN3dI/rE/t8Etz7YnWqkCmPoGeTb73EkXWqYpH+Dd6 uS6JBlz7cpQPmkejobmYXvlPJvZsc6WXSpf6wz78+l+lCPCm5g5NdJh/47t1Y17B 6HgNjbhYLfdkuvXaHqxRYnMgFB5OyUYybmpWAt4fGO1jcG+9cB6HiYzb5LxyLJxd vVPRV6nQH/w83WoR5eG7G5dSfeGKZ1/uoQXadhTrWkUv/GXuUDGNd/3nciJ/eYCu dVj9C0gBHM9qUeXZ1n34tOXOX8f8TSuDz0uvArikB94zQw== -----END CERTIFICATE REQUEST-----
■証明書
$ cat /etc/httpd/conf/ssl.crt/refirio.net.20170417.crt -----BEGIN CERTIFICATE----- MIIHZTCCBk2gAwIBAgIMeQV/EhIJ4kw74FJIMA0GCSqGSIb3DQEBCwUAMGAxCzAJ BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYDVQQDEy1H bG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0gRzIwHhcN MTcwNDE3MDc0MDAyWhcNMTgwNTI3MDYwMzQyWjBEMQswCQYDVQQGEwJKUDEhMB8G A1UECxMYRG9tYWluIENvbnRyb2wgVmFsaWRhdGVkMRIwEAYDVQQDDAlraW5kYWku anAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDepwfgWarCNG3eL7SI u4X8o7RAr75qBbZb5hrMY0jPIUP5dmi0rz29PG0rJxpWGuYbNtlPCKITiKF2KC0S bxXdgVj34RslfarkJoRHO3KhCUOgg4VqnhLS2lCcX4pu4JoCIOng3JPGyUqd73u5 c16IwbQXFUkr5Q/2BTgmxbvKbK5XcVp1Nh60wO/AADKDafoPdzGtnGjzXijnLLnF HhT+WVfBWirsA6pBdqeCVdl5ouQg0iZTdCF7+0WUQTECNQRIG8FrU1m2e6G1TXjf 3JT6zBjBDE2Vlv0UCexJTiUBqLyO2ZbRxCyeLEwY0x/o6+lSc2f/wZwxmJ/Wm2Eu exgNAgMBAAGjggQ5MIIENTAOBgNVHQ8BAf8EBAMCBaAwgZQGCCsGAQUFBwEBBIGH MIGEMEcGCCsGAQUFBzAChjtodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2Nh Y2VydC9nc2RvbWFpbnZhbHNoYTJnMnIxLmNydDA5BggrBgEFBQcwAYYtaHR0cDov L29jc3AyLmdsb2JhbHNpZ24uY29tL2dzZG9tYWludmFsc2hhMmcyMFYGA1UdIARP ME0wQQYJKwYBBAGgMgEKMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2Jh bHNpZ24uY29tL3JlcG9zaXRvcnkvMAgGBmeBDAECATAJBgNVHRMEAjAAMEMGA1Ud 〜略〜 flDpMB8GA1UdIwQYMBaAFOpOfNSALeUVgYYmjIJtwJikz5cPMIICbQYKKwYBBAHW eQIEAgSCAl0EggJZAlcAdgBWFAaaL9fC7NP14b1Esj7HRna5vJkRXMDvlJhV1onQ 3QAAAVt62rISAAAEAwBHMEUCIF4iru4YvCudvNAlflW0N30KKtZxiiPCnSF7G7g8 7hYEAiEAslSq3LUfnDMa8equ5ZdS2XWHmCPppw2TymVxnUya8wgAdwCkuQmQtBhY FIe7E6LMZ3AKPDWYBPkb37jjd80OyA3cEAAAAVt62rJDAAAEAwBIMEYCIQC3x8PR fI3NMDJ29yKQfZ1nSQdVJHsrjXMY5ovtJWFhxwIhAKQEeDQNWecU7fzXDBV4uybA 4rXUhW0qa/avWVOqdr9kAHYAu9nfvB+KcbWTlCOXqpJ7RzhXlQqrUugakJZkNo4e 0YUAAAFbetqzAQAABAMARzBFAiAhUkSH1GgWpcjH5kZPhNlwPihmrnavYZLzMg4+ 9a/ZlgIhAIh8ywrnXLinbm+OADvkx/KZcxFeOg1ruASpWeCKay3OAHUA3esdK3oN T6Ygi4GtgWhwfi6OnQHVXIiNPRHEzbbsvswAAAFbetqzIwAABAMARjBEAiBVdY3W ugq3fnNiKSWfBJiqOEPnb4DZivmHy8U10aumpAIgQzxu8TroC1zIl8aUiKWjHJ5Q sbihPZEJg96xHXfqc7YAdQDuS723dc5guuFCaR+r4Z5mow9+X7By2IMAxHuJeqj9 ywAAAVt62rU5AAAEAwBGMEQCIEQrTKhFZX1wI3ETispso6wbjG0GoZAVyQ/9MiOW 4mAqAiBJRkpwlq5OMfI96HoTIUiRLUUj44I0C60afTaDLygkFjANBgkqhkiG9w0B AQsFAAOCAQEABRt+4gIubf3s8qoSujvJfThbA99BPcuYuOK0nsH5a0K1o8SS6EDG ks/NaFSaD65PHJ+tD2TW2zNEUQH1U7Xw0dYZcxda3dVQMd3AYq3CVusFfVg7s60Y N6KSKl9ZYHvvXonF2o5z7V3O3/xVEFZ68rK7UyGt7ky6Y6ljKu2XlDd8YsyQiTQO WCndFfzviPtB4ocvE2Wr0poYmbdvM3e4bpg7RMMb/aIly29nHiXNaVVKRdAuQJE4 uhahu1FZKTMQzb2CRhqyXXRFYS5ifmx1vTjNUjwgqcNpyjxu/tApMCXZCl0bdsXt taMba8aijNLTf/fdaIpRRtTbcMBm2DeaZg== -----END CERTIFICATE-----
■中間証明書
$ cat /etc/httpd/conf/ssl.crt/refirio.net.20170417.ca -----BEGIN CERTIFICATE----- MIIEYzCCA0ugAwIBAgILBAAAAAABRE7wPiAwDQYJKoZIhvcNAQELBQAwVzELMAkG A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw MDBaFw0yNDAyMjAxMDAwMDBaMGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i YWxTaWduIG52LXNhMTYwNAYDVQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0 aW9uIENBIC0gU0hBMjU2IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK AoIBAQCp3cwOs+IyOd1JIqgTaZOHiOEM7nF9vZCHll1Z8syz0lhXV/lG72wm2DZC jn4wsy+aPlN7H262okxFHzzTFZMcie089Ffeyr3sBppqKqAZUn9R0XQ5CJ+r69eG ExWXrjbDVGYOWvKgc4Ux47JkFGr/paKOJLu9hVIVonnu8LXuPbj0fYC82ZA1ZbgX qa2zmJ+gfn1u+z+tfMIbWTaW2jcyS0tdNQJjjtunz2LuzC7Ujcm9PGqRcqIip3It 〜略〜 mKTPlw8wRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8v d3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMDMGA1UdHwQsMCowKKAmoCSG Imh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwPQYIKwYBBQUHAQEE MTAvMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9yb290 cjEwHwYDVR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJKoZIhvcNAQEL BQADggEBANdFnqDc4ONhWgt9d4QXLWVagpqNoycqhffJ7+mG/dRHzQFSlsVDvTex 4bjyqdKKEYRxkRWJ3AKdC8tsM4U0KJ4gsrGX3G0LEME8zV/qXdeYMcU0mVwAYVXE GwJbxeOJyLS4bx448lYm6UHvPc2smU9ZSlctS32ux4j71pg79eXw6ImJuYsDy1oj H6T9uOr7Lp2uanMJvPzVoLVEgqtEkS5QLlfBQ9iRBIvpES5ftD953x77PzAAi1Pj tywdO02L3ORkHQRYM68bVeerDL8wBHTk8w4vMDmNSwSMHnVmZkngvkA0x1xaUZK6 EjxS1QSCVS1npd+3lXzuP8MIugS+wEY= -----END CERTIFICATE-----
■公開鍵(SSH通信用に作成した公開鍵の内容を参考までに。SSL証明書には不要)
$ cat /path/to/public.20170417.key -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3qcH4FmqwjRt3i+0iLuF /KO0QK++agW2W+YazGNIzyFD+XZotK89vTxtKycaVhrmGzbZTwiiE4ihdigtEm8V 3YFY9+EbJX2q5CaERztyoQlDoIOFap4S0tpQnF+KbuCaAiDp4NyTxslKne97uXNe 〜略〜 /llXwVoq7AOqQXanglXZeaLkINImU3Qhe/tFlEExAjUESBvBa1NZtnuhtU1439yU +swYwQxNlZb9FAnsSU4lAai8jtmW0cQsnixMGNMf6OvpUnNn/8GcMZif1pthLnsY DQIDAQAB -----END PUBLIC KEY-----
■ファイルの解析
秘密鍵、CSR、証明書、中間証明書、公開鍵の内容は、 opensslコマンドを使うことで解析できる ■秘密鍵
$ openssl rsa -noout -text -in /etc/httpd/conf/ssl.key/refirio.net.20170417.key Private-Key: (2048 bit) … 2048bitの秘密鍵 modulus: … 素数の積 00:de:a7:07:e0:59:aa:c2:34:6d:de:2f:b4:88:bb: 85:fc:a3:b4:40:af:be:6a:05:b6:5b:e6:1a:cc:63: 48:cf:21:43:f9:76:68:b4:af:3d:bd:3c:6d:2b:27: 1a:56:1a:e6:1b:36:d9:4f:08:a2:13:88:a1:76:28: 2d:12:6f:15:dd:81:58:f7:e1:1b:25:7d:aa:e4:26: 84:47:3b:72:a1:09:43:a0:83:85:6a:9e:12:d2:da: 50:9c:5f:8a:6e:e0:9a:02:20:e9:e0:dc:93:c6:c9: 4a:9d:ef:7b:b9:73:5e:88:c1:b4:17:15:49:2b:e5: 0f:f6:05:38:26:c5:bb:ca:6c:ae:57:71:5a:75:36: 1e:b4:c0:ef:c0:00:32:83:69:fa:0f:77:31:ad:9c: 68:f3:5e:28:e7:2c:b9:c5:1e:14:fe:59:57:c1:5a: 2a:ec:03:aa:41:76:a7:82:55:d9:79:a2:e4:20:d2: 26:53:74:21:7b:fb:45:94:41:31:02:35:04:48:1b: c1:6b:53:59:b6:7b:a1:b5:4d:78:df:dc:94:fa:cc: 18:c1:0c:4d:95:96:fd:14:09:ec:49:4e:25:01:a8: bc:8e:d9:96:d1:c4:2c:9e:2c:4c:18:d3:1f:e8:eb: e9:52:73:67:ff:c1:9c:31:98:9f:d6:9b:61:2e:7b: 18:0d publicExponent: 65537 (0x10001) privateExponent: … 秘密鍵のバイナリ 67:a1:28:7a:54:61:b4:e8:40:26:c4:df:6b:30:94: a9:44:ec:75:9b:16:ae:34:20:6f:5f:87:23:90:26: 68:39:9c:70:b4:9b:01:55:fb:0f:63:db:8f:d5:30: 5d:d9:41:36:73:6d:eb:6a:22:3d:a3:3f:3b:46:71: cb:fd:a6:18:a5:c6:6a:00:fc:e8:93:38:01:de:a7: 7c:9b:ff:bb:52:1b:86:cf:10:3e:d2:7a:02:67:98: 53:5f:e8:87:b8:c4:15:af:8a:0b:9d:be:ae:2c:2c: 2d:9c:34:62:d9:7e:ab:7a:34:be:f5:aa:4b:e2:de: 6d:ec:79:f9:19:d9:50:da:2c:59:2c:f2:42:43:e0: c0:b2:29:44:1f:6c:87:06:71:c2:fd:ea:c3:59:ca: 65:36:8e:c0:cd:5f:91:0e:4e:3a:17:4e:db:db:66: 11:5d:9e:5b:ec:b1:92:b6:54:9c:cf:0d:c1:a5:dc: e6:31:c9:84:72:58:9a:68:c7:22:d7:23:4f:8e:14: a5:80:62:85:49:ce:01:63:7b:87:6b:aa:72:0c:05: ae:05:cb:ae:c5:2f:96:0e:6b:68:ab:36:2a:e3:70: 7d:08:f8:6a:c5:03:17:24:e4:3a:a1:99:1d:b4:ea: 68:90:83:33:3f:33:46:ae:ab:19:30:1f:93:c7:44: e1 prime1: … 素数1(英語で素数は「a prime number」という) 00:f7:da:38:a2:87:10:6e:71:bb:17:02:99:9f:45: 09:ec:f7:6d:26:e7:de:9e:4c:42:7a:85:41:9d:69: 45:1f:ad:2c:a4:91:da:d2:0d:aa:e7:10:1d:5f:21: 98:3c:3e:60:5c:be:b5:16:59:d9:73:fe:ec:5b:8e: c0:da:0d:1a:34:0e:25:4e:dc:a3:5b:cd:36:61:27: 9e:d5:98:5e:7a:b3:d9:ca:0a:90:d1:c0:e0:15:e2: 32:04:c5:00:21:64:a9:0c:6a:b4:76:7d:53:cb:d7: 84:9a:03:d0:6d:71:ab:8e:f0:ac:26:7d:a4:92:fa: 43:44:50:6c:86:09:8a:95:c9 prime2: … 素数2 00:e5:f8:bd:da:f5:92:d3:72:7e:01:09:ef:80:ef: 82:90:39:92:07:9b:2d:82:03:bf:09:0d:a5:a6:7f: 66:52:36:2d:f1:45:d1:d4:96:09:df:ca:4d:c3:8d: 8c:b7:50:87:91:f5:e0:8c:0a:e7:6e:3b:3c:71:94: c2:96:1f:9c:6d:7d:67:08:62:c9:11:9c:86:93:ec: 90:a4:ae:80:7e:e3:e6:bc:81:31:92:89:5d:dc:e2: f3:e5:f2:57:f1:a6:f8:f6:60:01:76:56:ed:90:40: 70:c3:48:55:35:02:ab:55:30:f7:b1:10:a0:06:09: 4c:e6:4c:1a:b0:c7:78:e2:25 exponent1: 0f:30:20:28:55:7e:7c:46:1b:e0:dd:17:ec:da:9e: 31:17:38:69:19:ec:5a:66:f1:eb:f0:1e:85:36:de: 35:82:b7:29:9e:86:7a:38:bc:30:4c:9c:80:27:de: dc:52:36:35:78:ba:40:14:61:6e:ea:40:31:9c:1d: d5:3e:d8:4c:38:51:b0:f3:74:4f:3b:d4:09:40:14: 4b:a2:7a:a7:aa:3d:be:53:c7:6c:13:15:a8:41:a4: 2f:06:a3:6b:68:6f:b3:83:16:6b:ec:62:26:2b:9e: c4:91:57:44:5d:a2:d5:af:89:dd:11:f5:f3:cb:c2: 33:7d:7a:28:fc:8c:b1:81 exponent2: 76:91:19:69:93:a5:40:a9:4d:f7:c1:24:9f:88:5c: fb:79:03:26:32:c6:72:ba:f5:ba:78:33:c8:b4:f4: 8f:3c:69:d1:74:5a:eb:cc:f3:88:53:28:66:c3:4b: 22:94:3d:61:6e:b0:77:e3:83:50:9c:ef:db:eb:83: ab:9c:de:ac:c0:b3:e7:69:ef:1a:ca:65:c4:4c:7a: 82:bd:89:78:62:8d:ea:f0:7d:1b:7d:01:4c:ca:22: 4f:92:f3:ee:9e:54:cb:c9:d1:d7:2e:98:4b:00:3e: 63:20:9e:f5:b6:cb:99:1f:a7:04:be:7a:92:c2:26: c8:b1:c2:2d:14:9a:e9:95 coefficient: 00:e9:54:26:02:ee:ab:16:2a:6f:4f:fd:49:1b:4f: 02:54:d5:0a:8f:8a:38:96:7a:88:d1:4f:97:98:42: 14:90:c7:67:14:bf:40:f9:76:02:88:ed:1a:a5:1a: 19:09:93:0c:a6:6d:97:81:8a:37:a3:a5:29:83:b2: bc:5c:5e:76:86:c6:f6:b1:cb:34:40:fd:7f:72:ee: 98:d2:0e:5e:6d:c4:ab:87:13:71:01:6f:63:81:2f: e1:5f:83:77:a9:5f:e4:3c:46:2d:f0:69:3e:f7:62: 74:00:5f:7f:20:50:32:3e:e6:d6:ac:67:71:a3:cd: f8:8e:3f:5f:5e:a2:45:f3:74
■CSR
$ openssl req -noout -text -in /etc/httpd/conf/ssl.csr/refirio.net.20170417.csr Certificate Request: Data: Version: 0 (0x0) Subject: C=JP, ST=Tokyo, L=Shibuya, O=refirio.net, CN=refirio.net/emailAddress=refirio@example.com Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) … 2048bitの公開鍵 Modulus: … 素数の積 00:de:a7:07:e0:59:aa:c2:34:6d:de:2f:b4:88:bb: 85:fc:a3:b4:40:af:be:6a:05:b6:5b:e6:1a:cc:63: 48:cf:21:43:f9:76:68:b4:af:3d:bd:3c:6d:2b:27: 1a:56:1a:e6:1b:36:d9:4f:08:a2:13:88:a1:76:28: 2d:12:6f:15:dd:81:58:f7:e1:1b:25:7d:aa:e4:26: 84:47:3b:72:a1:09:43:a0:83:85:6a:9e:12:d2:da: 50:9c:5f:8a:6e:e0:9a:02:20:e9:e0:dc:93:c6:c9: 4a:9d:ef:7b:b9:73:5e:88:c1:b4:17:15:49:2b:e5: 0f:f6:05:38:26:c5:bb:ca:6c:ae:57:71:5a:75:36: 1e:b4:c0:ef:c0:00:32:83:69:fa:0f:77:31:ad:9c: 68:f3:5e:28:e7:2c:b9:c5:1e:14:fe:59:57:c1:5a: 2a:ec:03:aa:41:76:a7:82:55:d9:79:a2:e4:20:d2: 26:53:74:21:7b:fb:45:94:41:31:02:35:04:48:1b: c1:6b:53:59:b6:7b:a1:b5:4d:78:df:dc:94:fa:cc: 18:c1:0c:4d:95:96:fd:14:09:ec:49:4e:25:01:a8: bc:8e:d9:96:d1:c4:2c:9e:2c:4c:18:d3:1f:e8:eb: e9:52:73:67:ff:c1:9c:31:98:9f:d6:9b:61:2e:7b: 18:0d Exponent: 65537 (0x10001) Attributes: a0:00 Signature Algorithm: sha1WithRSAEncryption … 電子署名(もとのCSRをハッシュ化し、さらに秘密鍵で暗号化したもの) 4b:cb:c3:8b:2a:00:63:6d:f9:b4:00:83:46:33:b3:7b:66:b6: 7e:20:c1:ca:41:de:dd:0a:8b:e0:de:ae:ef:38:a8:f4:cb:f6: ba:c8:6e:28:0d:b2:33:ba:a7:78:93:0d:dd:d2:3f:ac:4f:ed: f0:4b:73:ed:89:d6:aa:40:a6:3e:81:9e:4d:be:f7:12:45:d6: a9:8a:47:f8:37:7a:b9:2e:89:06:5c:fb:72:94:0f:9a:47:a3: a1:b9:98:5e:f9:4f:26:f6:6c:73:a5:97:4a:97:fa:c3:3e:fc: fa:5f:a5:08:f0:a6:e6:0e:4d:74:98:7f:e3:bb:75:63:5e:c1: e8:78:0d:8d:b8:58:2d:f7:64:ba:f5:da:1e:ac:51:62:73:20: 14:1e:4e:c9:46:32:6e:6a:56:02:de:1f:18:ed:63:70:6f:bd: 70:1e:87:89:8c:db:e4:bc:72:2c:9c:5d:bd:53:d1:57:a9:d0: 1f:fc:3c:dd:6a:11:e5:e1:bb:1b:97:52:7d:e1:8a:67:5f:ee: a1:05:da:76:14:eb:5a:45:2f:fc:65:ee:50:31:8d:77:fd:e7: 72:22:7f:79:80:ae:75:58:fd:0b:48:01:1c:cf:6a:51:e5:d9: d6:7d:f8:b4:e5:ce:5f:c7:fc:4d:2b:83:cf:4b:af:02:b8:a4: 07:de:33:43
■証明書
$ openssl x509 -noout -text -in /etc/httpd/conf/ssl.crt/refirio.net.20170417.crt … 「x509」というのは証明書の規格 https://ja.wikipedia.org/wiki/X.509 Certificate: Data: Version: 3 (0x2) Serial Number: 79:05:7f:12:12:09:e2:4c:3b:e0:52:48 Signature Algorithm: sha256WithRSAEncryption Issuer: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Domain Validation CA - SHA256 - G2 Validity Not Before: Apr 17 07:40:02 2017 GMT Not After : May 27 06:03:42 2018 GMT Subject: C=JP, OU=Domain Control Validated, CN=refirio.net Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) … 2048bitの公開鍵 Modulus: … 素数の積 00:de:a7:07:e0:59:aa:c2:34:6d:de:2f:b4:88:bb: 85:fc:a3:b4:40:af:be:6a:05:b6:5b:e6:1a:cc:63: 48:cf:21:43:f9:76:68:b4:af:3d:bd:3c:6d:2b:27: 1a:56:1a:e6:1b:36:d9:4f:08:a2:13:88:a1:76:28: 2d:12:6f:15:dd:81:58:f7:e1:1b:25:7d:aa:e4:26: 84:47:3b:72:a1:09:43:a0:83:85:6a:9e:12:d2:da: 50:9c:5f:8a:6e:e0:9a:02:20:e9:e0:dc:93:c6:c9: 4a:9d:ef:7b:b9:73:5e:88:c1:b4:17:15:49:2b:e5: 0f:f6:05:38:26:c5:bb:ca:6c:ae:57:71:5a:75:36: 1e:b4:c0:ef:c0:00:32:83:69:fa:0f:77:31:ad:9c: 68:f3:5e:28:e7:2c:b9:c5:1e:14:fe:59:57:c1:5a: 2a:ec:03:aa:41:76:a7:82:55:d9:79:a2:e4:20:d2: 26:53:74:21:7b:fb:45:94:41:31:02:35:04:48:1b: c1:6b:53:59:b6:7b:a1:b5:4d:78:df:dc:94:fa:cc: 18:c1:0c:4d:95:96:fd:14:09:ec:49:4e:25:01:a8: bc:8e:d9:96:d1:c4:2c:9e:2c:4c:18:d3:1f:e8:eb: e9:52:73:67:ff:c1:9c:31:98:9f:d6:9b:61:2e:7b: 18:0d Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Key Usage: critical Digital Signature, Key Encipherment Authority Information Access: CA Issuers - URI:http://secure.globalsign.com/cacert/gsdomainvalsha2g2r1.crt OCSP - URI:http://ocsp2.globalsign.com/gsdomainvalsha2g2 X509v3 Certificate Policies: Policy: 1.3.6.1.4.1.4146.1.10 CPS: https://www.globalsign.com/repository/ Policy: 2.23.140.1.2.1 X509v3 Basic Constraints: CA:FALSE X509v3 CRL Distribution Points: Full Name: URI:http://crl.globalsign.com/gs/gsdomainvalsha2g2.crl X509v3 Subject Alternative Name: DNS:refirio.net X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication X509v3 Subject Key Identifier: 76:36:90:C0:D7:CF:77:C6:7D:C3:F1:AA:C7:55:66:7B:AA:7E:50:E9 X509v3 Authority Key Identifier: keyid:EA:4E:7C:D4:80:2D:E5:15:81:86:26:8C:82:6D:C0:98:A4:CF:97:0F 1.3.6.1.4.1.11129.2.4.2: ...Y.W.v.V.../.......D.>.Fv....\....U.......[z........G0E. ^"....+...%~U.7} ..eq.L....w.......X......gp.....R.u..#.. Y.......x.&.....m*k..YS.v.d.v.......q...#...{G8W.%aa..!...x4 .R....d6.......[z........G0E. !RD..h.....FO..p>(f.v.a..2.>.....!..|. O. ....hp~.....\..=..........[z..#.....F0D. Uu... .~sb)%....8C.o.......5..... C<n.:..\.........P...=......w.s..u..K..u.`..Bi....f..~_.r....{.z......[z..9.....F0D. D+L.Ee}p#q...l....m.......2#..`*. IFJp..N1.=.z.!H.-E#..4...}6./($. Signature Algorithm: sha256WithRSAEncryption 05:1b:7e:e2:02:2e:6d:fd:ec:f2:aa:12:ba:3b:c9:7d:38:5b: 03:df:41:3d:cb:98:b8:e2:b4:9e:c1:f9:6b:42:b5:a3:c4:92: e8:40:c6:92:cf:cd:68:54:9a:0f:ae:4f:1c:9f:ad:0f:64:d6: db:33:44:51:01:f5:53:b5:f0:d1:d6:19:73:17:5a:dd:d5:50: 31:dd:c0:62:ad:c2:56:eb:05:7d:58:3b:b3:ad:18:37:a2:92: 2a:5f:59:60:7b:ef:5e:89:c5:da:8e:73:ed:5d:ce:df:fc:55: 10:56:7a:f2:b2:bb:53:21:ad:ee:4c:ba:63:a9:63:2a:ed:97: 94:37:7c:62:cc:90:89:34:0e:58:29:dd:15:fc:ef:88:fb:41: e2:87:2f:13:65:ab:d2:9a:18:99:b7:6f:33:77:b8:6e:98:3b: 44:c3:1b:fd:a2:25:cb:6f:67:1e:25:cd:69:55:4a:45:d0:2e: 40:91:38:ba:16:a1:bb:51:59:29:33:10:cd:bd:82:46:1a:b2: 5d:74:45:61:2e:62:7e:6c:75:bd:38:cd:52:3c:20:a9:c3:69: ca:3c:6e:fe:d0:29:30:25:d9:0a:5d:1b:76:c5:ed:b5:a3:1b: 6b:c6:a2:8c:d2:d3:7f:f7:dd:68:8a:51:46:d4:db:70:c0:66: d8:37:9a:66
■中間証明書
$ openssl x509 -noout -text -in /etc/httpd/conf/ssl.crt/refirio.net.20170417.ca Certificate: Data: Version: 3 (0x2) Serial Number: 04:00:00:00:00:01:44:4e:f0:3e:20 Signature Algorithm: sha256WithRSAEncryption Issuer: C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA Validity Not Before: Feb 20 10:00:00 2014 GMT Not After : Feb 20 10:00:00 2024 GMT Subject: C=BE, O=GlobalSign nv-sa, CN=GlobalSign Domain Validation CA - SHA256 - G2 Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:a9:dd:cc:0e:b3:e2:32:39:dd:49:22:a8:13:69: 93:87:88:e1:0c:ee:71:7d:bd:90:87:96:5d:59:f2: cc:b3:d2:58:57:57:f9:46:ef:6c:26:d8:36:42:8e: 7e:30:b3:2f:9a:3e:53:7b:1f:6e:b6:a2:4c:45:1f: 3c:d3:15:93:1c:89:ed:3c:f4:57:de:ca:bd:ec:06: 9a:6a:2a:a0:19:52:7f:51:d1:74:39:08:9f:ab:eb: d7:86:13:15:97:ae:36:c3:54:66:0e:5a:f2:a0:73: 85:31:e3:b2:64:14:6a:ff:a5:a2:8e:24:bb:bd:85: 52:15:a2:79:ee:f0:b5:ee:3d:b8:f4:7d:80:bc:d9: 90:35:65:b8:17:a9:ad:b3:98:9f:a0:7e:7d:6e:fb: 3f:ad:7c:c2:1b:59:36:96:da:37:32:4b:4b:5d:35: 02:63:8e:db:a7:cf:62:ee:cc:2e:d4:8d:c9:bd:3c: 6a:91:72:a2:22:a7:72:2d:20:d1:fa:ca:37:da:18: 98:e6:16:24:71:25:4b:c4:e5:7b:89:52:09:02:fd: 59:2b:04:6e:ca:07:81:d4:b3:da:da:db:e3:cc:80: a8:56:07:06:7c:96:08:37:9d:db:38:b6:62:34:91: 62:07:74:01:38:d8:72:30:e2:eb:90:71:26:62:c0: 57:f3 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Key Usage: critical Certificate Sign, CRL Sign X509v3 Basic Constraints: critical CA:TRUE, pathlen:0 X509v3 Subject Key Identifier: EA:4E:7C:D4:80:2D:E5:15:81:86:26:8C:82:6D:C0:98:A4:CF:97:0F X509v3 Certificate Policies: Policy: X509v3 Any Policy CPS: https://www.globalsign.com/repository/ X509v3 CRL Distribution Points: Full Name: URI:http://crl.globalsign.net/root.crl Authority Information Access: OCSP - URI:http://ocsp.globalsign.com/rootr1 X509v3 Authority Key Identifier: keyid:60:7B:66:1A:45:0D:97:CA:89:50:2F:7D:04:CD:34:A8:FF:FC:FD:4B Signature Algorithm: sha256WithRSAEncryption d7:45:9e:a0:dc:e0:e3:61:5a:0b:7d:77:84:17:2d:65:5a:82: 9a:8d:a3:27:2a:85:f7:c9:ef:e9:86:fd:d4:47:cd:01:52:96: c5:43:bd:37:b1:e1:b8:f2:a9:d2:8a:11:84:71:91:15:89:dc: 02:9d:0b:cb:6c:33:85:34:28:9e:20:b2:b1:97:dc:6d:0b:10: c1:3c:cd:5f:ea:5d:d7:98:31:c5:34:99:5c:00:61:55:c4:1b: 02:5b:c5:e3:89:c8:b4:b8:6f:1e:38:f2:56:26:e9:41:ef:3d: cd:ac:99:4f:59:4a:57:2d:4b:7d:ae:c7:88:fb:d6:98:3b:f5: e5:f0:e8:89:89:b9:8b:03:cb:5a:23:1f:a4:fd:b8:ea:fb:2e: 9d:ae:6a:73:09:bc:fc:d5:a0:b5:44:82:ab:44:91:2e:50:2e: 57:c1:43:d8:91:04:8b:e9:11:2e:5f:b4:3f:79:df:1e:fb:3f: 30:00:8b:53:e3:b7:2c:1d:3b:4d:8b:dc:e4:64:1d:04:58:33: af:1b:55:e7:ab:0c:bf:30:04:74:e4:f3:0e:2f:30:39:8d:4b: 04:8c:1e:75:66:66:49:e0:be:40:34:c7:5c:5a:51:92:ba:12: 3c:52:d5:04:82:55:2d:67:a5:df:b7:95:7c:ee:3f:c3:08:ba: 04:be:c0:46
■CSRと秘密鍵の比較 ※CSRの「Modulus」と鍵の「modulus」の内容が一致すれば正しいペア
$ openssl req -noout -text -in /etc/httpd/conf/ssl.csr/refirio.net.20170417.csr $ openssl rsa -noout -text -in /etc/httpd/conf/ssl.key/refirio.net.20170417.key
■公開鍵(参考までに。今回は不要)
# openssl rsa -noout -text -pubin -in /path/to/public.20170417.key Public-Key: (2048 bit) Modulus: 00:de:a7:07:e0:59:aa:c2:34:6d:de:2f:b4:88:bb: 85:fc:a3:b4:40:af:be:6a:05:b6:5b:e6:1a:cc:63: 48:cf:21:43:f9:76:68:b4:af:3d:bd:3c:6d:2b:27: 1a:56:1a:e6:1b:36:d9:4f:08:a2:13:88:a1:76:28: 2d:12:6f:15:dd:81:58:f7:e1:1b:25:7d:aa:e4:26: 84:47:3b:72:a1:09:43:a0:83:85:6a:9e:12:d2:da: 50:9c:5f:8a:6e:e0:9a:02:20:e9:e0:dc:93:c6:c9: 4a:9d:ef:7b:b9:73:5e:88:c1:b4:17:15:49:2b:e5: 0f:f6:05:38:26:c5:bb:ca:6c:ae:57:71:5a:75:36: 1e:b4:c0:ef:c0:00:32:83:69:fa:0f:77:31:ad:9c: 68:f3:5e:28:e7:2c:b9:c5:1e:14:fe:59:57:c1:5a: 2a:ec:03:aa:41:76:a7:82:55:d9:79:a2:e4:20:d2: 26:53:74:21:7b:fb:45:94:41:31:02:35:04:48:1b: c1:6b:53:59:b6:7b:a1:b5:4d:78:df:dc:94:fa:cc: 18:c1:0c:4d:95:96:fd:14:09:ec:49:4e:25:01:a8: bc:8e:d9:96:d1:c4:2c:9e:2c:4c:18:d3:1f:e8:eb: e9:52:73:67:ff:c1:9c:31:98:9f:d6:9b:61:2e:7b: 18:0d Exponent: 65537 (0x10001)
■「-noout」について 省略すると、ファイルの内容も一緒にそのまま出力されるみたい
$ openssl rsa -text -in /etc/httpd/conf/ssl.key/refirio.net.20170417.key Private-Key: (2048 bit) 〜略〜 74:00:5f:7f:20:50:32:3e:e6:d6:ac:67:71:a3:cd: f8:8e:3f:5f:5e:a2:45:f3:74 writing RSA key -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA3qcH4FmqwjRt3i+0iLuF/KO0QK++agW2W+YazGNIzyFD+XZo tK89vTxtKycaVhrmGzbZTwiiE4ihdigtEm8V3YFY9+EbJX2q5CaERztyoQlDoIOF ap4S0tpQnF+KbuCaAiDp4NyTxslKne97uXNeiMG0FxVJK+UP9gU4JsW7ymyuV3Fa dTYetMDvwAAyg2n6D3cxrZxo814o5yy5xR4U/llXwVoq7AOqQXanglXZeaLkINIm U3Qhe/tFlEExAjUESBvBa1NZtnuhtU1439yU+swYwQxNlZb9FAnsSU4lAai8jtmW 0cQsnixMGNMf6OvpUnNn/8GcMZif1pthLnsYDQIDAQABAoIBAGehKHpUYbToQCbE 32swlKlE7HWbFq40IG9fhyOQJmg5nHC0mwFV+w9j24/VMF3ZQTZzbetqIj2jPztG ccv9philxmoA/OiTOAHep3yb/7tSG4bPED7SegJnmFNf6Ie4xBWvigudvq4sLC2c NGLZfqt6NL71qkvi3m3sefkZ2VDaLFks8kJD4MCyKUQfbIcGccL96sNZymU2jsDN X5EOTjoXTtvbZhFdnlvssZK2VJzPDcGl3OYxyYRyWJpoxyLXI0+OFKWAYoVJzgFj e4drqnIMBa4Fy67FL5YOa2irNirjcH0I+GrFAxck5DqhmR206miQgzM/M0auqxkw 〜略〜 2vWS03J+AQnvgO+CkDmSB5stggO/CQ2lpn9mUjYt8UXR1JYJ38pNw42Mt1CHkfXg jArnbjs8cZTClh+cbX1nCGLJEZyGk+yQpK6AfuPmvIExkold3OLz5fJX8ab49mAB dlbtkEBww0hVNQKrVTD3sRCgBglM5kwasMd44iUCgYAPMCAoVX58Rhvg3Rfs2p4x FzhpGexaZvHr8B6FNt41grcpnoZ6OLwwTJyAJ97cUjY1eLpAFGFu6kAxnB3VPthM OFGw83RPO9QJQBRLonqnqj2+U8dsExWoQaQvBqNraG+zgxZr7GImK57EkVdEXaLV r4ndEfXzy8IzfXoo/IyxgQKBgHaRGWmTpUCpTffBJJ+IXPt5AyYyxnK69bp4M8i0 9I88adF0WuvM84hTKGbDSyKUPWFusHfjg1Cc79vrg6uc3qzAs+dp7xrKZcRMeoK9 iXhijerwfRt9AUzKIk+S8+6eVMvJ0dcumEsAPmMgnvW2y5kfpwS+epLCJsixwi0U mumVAoGBAOlUJgLuqxYqb0/9SRtPAlTVCo+KOJZ6iNFPl5hCFJDHZxS/QPl2Aojt GqUaGQmTDKZtl4GKN6OlKYOyvFxedobG9rHLNED9f3LumNIOXm3Eq4cTcQFvY4Ev 4V+Dd6lf5DxGLfBpPvdidABffyBQMj7m1qxncaPN+I4/X16iRfN0 -----END RSA PRIVATE KEY----- $ openssl req -text -in /etc/httpd/conf/ssl.csr/refirio.net.20170417.csr Certificate Request: 〜略〜 d6:7d:f8:b4:e5:ce:5f:c7:fc:4d:2b:83:cf:4b:af:02:b8:a4: 07:de:33:43 -----BEGIN CERTIFICATE REQUEST----- MIICvjCCAaYCAQAweTELMAkGA1UEBhMCSlAxDjAMBgNVBAgMBU9zYWthMQ4wDAYD VQQHDAVPc2FrYTESMBAGA1UECgwJa2luZGFpLmpwMRIwEAYDVQQDDAlraW5kYWku anAxIjAgBgkqhkiG9w0BCQEWE3NlcnZlckB0ZXJyYXBvcnQuanAwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDepwfgWarCNG3eL7SIu4X8o7RAr75qBbZb 5hrMY0jPIUP5dmi0rz29PG0rJxpWGuYbNtlPCKITiKF2KC0SbxXdgVj34Rslfark JoRHO3KhCUOgg4VqnhLS2lCcX4pu4JoCIOng3JPGyUqd73u5c16IwbQXFUkr5Q/2 〜略〜 BgkqhkiG9w0BAQUFAAOCAQEAS8vDiyoAY235tACDRjOze2a2fiDBykHe3QqL4N6u 7zio9Mv2ushuKA2yM7qneJMN3dI/rE/t8Etz7YnWqkCmPoGeTb73EkXWqYpH+Dd6 uS6JBlz7cpQPmkejobmYXvlPJvZsc6WXSpf6wz78+l+lCPCm5g5NdJh/47t1Y17B 6HgNjbhYLfdkuvXaHqxRYnMgFB5OyUYybmpWAt4fGO1jcG+9cB6HiYzb5LxyLJxd vVPRV6nQH/w83WoR5eG7G5dSfeGKZ1/uoQXadhTrWkUv/GXuUDGNd/3nciJ/eYCu dVj9C0gBHM9qUeXZ1n34tOXOX8f8TSuDz0uvArikB94zQw== -----END CERTIFICATE REQUEST-----
■鍵の素数とその積を確認する
公開鍵に含まれる「素数の積」と 秘密鍵に含まれる2つの「素数」の積が一致することは、 以下の手順で確認できる ■素数の積
00:de:a7:07:e0:59:aa:c2:34:6d:de:2f:b4:88:bb: 85:fc:a3:b4:40:af:be:6a:05:b6:5b:e6:1a:cc:63: 48:cf:21:43:f9:76:68:b4:af:3d:bd:3c:6d:2b:27: 1a:56:1a:e6:1b:36:d9:4f:08:a2:13:88:a1:76:28: 2d:12:6f:15:dd:81:58:f7:e1:1b:25:7d:aa:e4:26: 84:47:3b:72:a1:09:43:a0:83:85:6a:9e:12:d2:da: 50:9c:5f:8a:6e:e0:9a:02:20:e9:e0:dc:93:c6:c9: 4a:9d:ef:7b:b9:73:5e:88:c1:b4:17:15:49:2b:e5: 0f:f6:05:38:26:c5:bb:ca:6c:ae:57:71:5a:75:36: 1e:b4:c0:ef:c0:00:32:83:69:fa:0f:77:31:ad:9c: 68:f3:5e:28:e7:2c:b9:c5:1e:14:fe:59:57:c1:5a: 2a:ec:03:aa:41:76:a7:82:55:d9:79:a2:e4:20:d2: 26:53:74:21:7b:fb:45:94:41:31:02:35:04:48:1b: c1:6b:53:59:b6:7b:a1:b5:4d:78:df:dc:94:fa:cc: 18:c1:0c:4d:95:96:fd:14:09:ec:49:4e:25:01:a8: bc:8e:d9:96:d1:c4:2c:9e:2c:4c:18:d3:1f:e8:eb: e9:52:73:67:ff:c1:9c:31:98:9f:d6:9b:61:2e:7b: 18:0d
コロン、スペース、改行を削除する
00dea707e059aac2346dde2fb488bb85fca3b440afbe6a05b65be61acc6348cf2143f97668b4af3dbd3c6d2b271a561ae61b36d94f08a21388a176282d126f15dd8158f7e11b257daae42684473b72a10943a083856a9e12d2da509c5f8a6ee09a0220e9e0dc93c6c94a9def7bb9735e88c1b41715492be50ff6053826c5bbca6cae57715a75361eb4c0efc000328369fa0f7731ad9c68f35e28e72cb9c51e14fe5957c15a2aec03aa4176a78255d979a2e420d2265374217bfb45944131023504481bc16b5359b67ba1b54d78dfdc94facc18c10c4d9596fd1409ec494e2501a8bc8ed996d1c42c9e2c4c18d31fe8ebe9527367ffc19c31989fd69b612e7b180d
16進数を10進数にする
28107269643524601036020547944438142231242423445094410102572924336229197085620892077427252731728466131512394779111855358494157384662380058157948993986619110414847004499167338404171971812699231028844784090848252021212276398795278195421449370907285067068726732015832649037868313287359716357339472056287296135392864554052487509205470376092502281597452561904044176914475877722171372901147827228680877574816904785591078012214026829394970637574106803007487012147497343557883576158183058564440559029501999332888092531745575594396032091689178146537296679081141515934015339451444362223122619757945062425688325448457045893912589
これが素数の積 ■素数1
00:f7:da:38:a2:87:10:6e:71:bb:17:02:99:9f:45: 09:ec:f7:6d:26:e7:de:9e:4c:42:7a:85:41:9d:69: 45:1f:ad:2c:a4:91:da:d2:0d:aa:e7:10:1d:5f:21: 98:3c:3e:60:5c:be:b5:16:59:d9:73:fe:ec:5b:8e: c0:da:0d:1a:34:0e:25:4e:dc:a3:5b:cd:36:61:27: 9e:d5:98:5e:7a:b3:d9:ca:0a:90:d1:c0:e0:15:e2: 32:04:c5:00:21:64:a9:0c:6a:b4:76:7d:53:cb:d7: 84:9a:03:d0:6d:71:ab:8e:f0:ac:26:7d:a4:92:fa: 43:44:50:6c:86:09:8a:95:c9
コロン、スペース、改行を削除する
00f7da38a287106e71bb1702999f4509ecf76d26e7de9e4c427a85419d69451fad2ca491dad20daae7101d5f21983c3e605cbeb51659d973feec5b8ec0da0d1a340e254edca35bcd3661279ed5985e7ab3d9ca0a90d1c0e015e23204c5002164a90c6ab4767d53cbd7849a03d06d71ab8ef0ac267da492fa4344506c86098a95c9
16進数を10進数にする
174047892930023094026568503475829929660138123036363328126153481933180597900271793367167512588003068563993912398668215670579060745129015894464249699798399650709942462647689922603033764059859162174588341993996716877190828008353897443357155705435145252626576818766998798107655229708080281795264283819882129823177
これが素数1 ■素数2
00:e5:f8:bd:da:f5:92:d3:72:7e:01:09:ef:80:ef: 82:90:39:92:07:9b:2d:82:03:bf:09:0d:a5:a6:7f: 66:52:36:2d:f1:45:d1:d4:96:09:df:ca:4d:c3:8d: 8c:b7:50:87:91:f5:e0:8c:0a:e7:6e:3b:3c:71:94: c2:96:1f:9c:6d:7d:67:08:62:c9:11:9c:86:93:ec: 90:a4:ae:80:7e:e3:e6:bc:81:31:92:89:5d:dc:e2: f3:e5:f2:57:f1:a6:f8:f6:60:01:76:56:ed:90:40: 70:c3:48:55:35:02:ab:55:30:f7:b1:10:a0:06:09: 4c:e6:4c:1a:b0:c7:78:e2:25
コロン、スペース、改行を削除する
00e5f8bddaf592d3727e0109ef80ef82903992079b2d8203bf090da5a67f6652362df145d1d49609dfca4dc38d8cb7508791f5e08c0ae76e3b3c7194c2961f9c6d7d670862c9119c8693ec90a4ae807ee3e6bc813192895ddce2f3e5f257f1a6f8f660017656ed904070c348553502ab5530f7b110a006094ce64c1ab0c778e225
16進数を10進数にする
161491582404995171722507202877046590388337781084716064936089198510029889426944891573945340714601582639350071582464681549464150984923448091830215849986879189144848704907187330130749447434111788297248435859195861145188815253331993677751058650724406048624162305289438666191795530254294041661694479095082570539557
これが素数2 ■計算 「素数1」と「素数2」の積が「素数の積」と一致することが確認できる 計算の桁数が非常に多いため、簡易な計算ツールだと対応できないので注意 以下の計算ツールを使うなどで対応できる 高精度な高等関数が使えるフリー計算 https://keisan.casio.jp/calculator RSA公開鍵から素数の積を取り出す方法 - hnwの日記 http://d.hatena.ne.jp/hnw/20140517 2進数、8進数、10進数、16進数相互変換ツール https://hogehoge.tk/tool/number.html
■ツールで証明書情報を確認
以下は有効期限を確認している例 opensslでの解析については、このファイル内の「ファイルの解析」や「外部サーバからコマンドで証明書情報を確認」も参照
# openssl x509 -noout -dates -in /etc/letsencrypt/live/refirio.work/fullchain.pem notBefore=Jun 24 03:33:49 2019 GMT notAfter=Sep 22 03:33:49 2019 GMT
SSL証明書の内容をopensslで確認する - Qiita https://qiita.com/masachika/items/e4936feb4087b7ddbe8b また、以下でSSLの品質を評価できる SSL Server Test (Powered by Qualys SSL Labs) https://www.ssllabs.com/ssltest/ 以下のようにすると、評価結果に直接リンクできる SSL Server Test: refirio.net (Powered by Qualys SSL Labs) https://www.ssllabs.com/ssltest/analyze.html?d=refirio.net 以下は活用事例 レガシーとなった TLS 1.0/1.1 廃止までの道のり - クックパッド開発者ブログ https://techlife.cookpad.com/entry/2021/08/19/100000 【AWS】ELBセキュリティポリシー変更してTLS 1.0/1.1 無効化|SAYJOY blog https://sayjoyblog.com/elb-securitypolicy/
■外部サーバからコマンドで証明書情報を確認
証明書と中間証明書は外部に公開されている 以下のようにコマンドで内容を確認できる opensslコマンドで証明書情報を確認したい。 │ サポート │ GMOグローバルサイン【公式】 https://jp.globalsign.com/support/faq/07.html
$ openssl s_client -connect refirio.net:443 -showcerts CONNECTED(00000003) depth=2 C = BE, O = GlobalSign nv-sa, OU = Root CA, CN = GlobalSign Root CA verify return:1 depth=1 C = BE, O = GlobalSign nv-sa, CN = GlobalSign Domain Validation CA - SHA256 - G2 verify return:1 depth=0 C = JP, OU = Domain Control Validated, CN = refirio.net verify return:1 --- Certificate chain 0 s:/C=JP/OU=Domain Control Validated/CN=refirio.net i:/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2 -----BEGIN CERTIFICATE----- … 証明書 MIIHZTCCBk2gAwIBAgIMeQV/EhIJ4kw74FJIMA0GCSqGSIb3DQEBCwUAMGAxCzAJ BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTYwNAYDVQQDEy1H bG9iYWxTaWduIERvbWFpbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0gRzIwHhcN MTcwNDE3MDc0MDAyWhcNMTgwNTI3MDYwMzQyWjBEMQswCQYDVQQGEwJKUDEhMB8G A1UECxMYRG9tYWluIENvbnRyb2wgVmFsaWRhdGVkMRIwEAYDVQQDDAlraW5kYWku anAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDepwfgWarCNG3eL7SI u4X8o7RAr75qBbZb5hrMY0jPIUP5dmi0rz29PG0rJxpWGuYbNtlPCKITiKF2KC0S bxXdgVj34RslfarkJoRHO3KhCUOgg4VqnhLS2lCcX4pu4JoCIOng3JPGyUqd73u5 c16IwbQXFUkr5Q/2BTgmxbvKbK5XcVp1Nh60wO/AADKDafoPdzGtnGjzXijnLLnF HhT+WVfBWirsA6pBdqeCVdl5ouQg0iZTdCF7+0WUQTECNQRIG8FrU1m2e6G1TXjf 3JT6zBjBDE2Vlv0UCexJTiUBqLyO2ZbRxCyeLEwY0x/o6+lSc2f/wZwxmJ/Wm2Eu exgNAgMBAAGjggQ5MIIENTAOBgNVHQ8BAf8EBAMCBaAwgZQGCCsGAQUFBwEBBIGH MIGEMEcGCCsGAQUFBzAChjtodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2Nh Y2VydC9nc2RvbWFpbnZhbHNoYTJnMnIxLmNydDA5BggrBgEFBQcwAYYtaHR0cDov L29jc3AyLmdsb2JhbHNpZ24uY29tL2dzZG9tYWludmFsc2hhMmcyMFYGA1UdIARP ME0wQQYJKwYBBAGgMgEKMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2Jh bHNpZ24uY29tL3JlcG9zaXRvcnkvMAgGBmeBDAECATAJBgNVHRMEAjAAMEMGA1Ud 〜略〜 flDpMB8GA1UdIwQYMBaAFOpOfNSALeUVgYYmjIJtwJikz5cPMIICbQYKKwYBBAHW eQIEAgSCAl0EggJZAlcAdgBWFAaaL9fC7NP14b1Esj7HRna5vJkRXMDvlJhV1onQ 3QAAAVt62rISAAAEAwBHMEUCIF4iru4YvCudvNAlflW0N30KKtZxiiPCnSF7G7g8 7hYEAiEAslSq3LUfnDMa8equ5ZdS2XWHmCPppw2TymVxnUya8wgAdwCkuQmQtBhY FIe7E6LMZ3AKPDWYBPkb37jjd80OyA3cEAAAAVt62rJDAAAEAwBIMEYCIQC3x8PR fI3NMDJ29yKQfZ1nSQdVJHsrjXMY5ovtJWFhxwIhAKQEeDQNWecU7fzXDBV4uybA 4rXUhW0qa/avWVOqdr9kAHYAu9nfvB+KcbWTlCOXqpJ7RzhXlQqrUugakJZkNo4e 0YUAAAFbetqzAQAABAMARzBFAiAhUkSH1GgWpcjH5kZPhNlwPihmrnavYZLzMg4+ 9a/ZlgIhAIh8ywrnXLinbm+OADvkx/KZcxFeOg1ruASpWeCKay3OAHUA3esdK3oN T6Ygi4GtgWhwfi6OnQHVXIiNPRHEzbbsvswAAAFbetqzIwAABAMARjBEAiBVdY3W ugq3fnNiKSWfBJiqOEPnb4DZivmHy8U10aumpAIgQzxu8TroC1zIl8aUiKWjHJ5Q sbihPZEJg96xHXfqc7YAdQDuS723dc5guuFCaR+r4Z5mow9+X7By2IMAxHuJeqj9 ywAAAVt62rU5AAAEAwBGMEQCIEQrTKhFZX1wI3ETispso6wbjG0GoZAVyQ/9MiOW 4mAqAiBJRkpwlq5OMfI96HoTIUiRLUUj44I0C60afTaDLygkFjANBgkqhkiG9w0B AQsFAAOCAQEABRt+4gIubf3s8qoSujvJfThbA99BPcuYuOK0nsH5a0K1o8SS6EDG ks/NaFSaD65PHJ+tD2TW2zNEUQH1U7Xw0dYZcxda3dVQMd3AYq3CVusFfVg7s60Y N6KSKl9ZYHvvXonF2o5z7V3O3/xVEFZ68rK7UyGt7ky6Y6ljKu2XlDd8YsyQiTQO WCndFfzviPtB4ocvE2Wr0poYmbdvM3e4bpg7RMMb/aIly29nHiXNaVVKRdAuQJE4 uhahu1FZKTMQzb2CRhqyXXRFYS5ifmx1vTjNUjwgqcNpyjxu/tApMCXZCl0bdsXt taMba8aijNLTf/fdaIpRRtTbcMBm2DeaZg== -----END CERTIFICATE----- 1 s:/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2 i:/C=BE/O=GlobalSign nv-sa/OU=Root CA/CN=GlobalSign Root CA -----BEGIN CERTIFICATE----- … 中間証明書 MIIEYzCCA0ugAwIBAgILBAAAAAABRE7wPiAwDQYJKoZIhvcNAQELBQAwVzELMAkG A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw MDBaFw0yNDAyMjAxMDAwMDBaMGAxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i YWxTaWduIG52LXNhMTYwNAYDVQQDEy1HbG9iYWxTaWduIERvbWFpbiBWYWxpZGF0 aW9uIENBIC0gU0hBMjU2IC0gRzIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK AoIBAQCp3cwOs+IyOd1JIqgTaZOHiOEM7nF9vZCHll1Z8syz0lhXV/lG72wm2DZC jn4wsy+aPlN7H262okxFHzzTFZMcie089Ffeyr3sBppqKqAZUn9R0XQ5CJ+r69eG ExWXrjbDVGYOWvKgc4Ux47JkFGr/paKOJLu9hVIVonnu8LXuPbj0fYC82ZA1ZbgX qa2zmJ+gfn1u+z+tfMIbWTaW2jcyS0tdNQJjjtunz2LuzC7Ujcm9PGqRcqIip3It 〜略〜 mKTPlw8wRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8v d3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9zaXRvcnkvMDMGA1UdHwQsMCowKKAmoCSG Imh0dHA6Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwPQYIKwYBBQUHAQEE MTAvMC0GCCsGAQUFBzABhiFodHRwOi8vb2NzcC5nbG9iYWxzaWduLmNvbS9yb290 cjEwHwYDVR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJKoZIhvcNAQEL BQADggEBANdFnqDc4ONhWgt9d4QXLWVagpqNoycqhffJ7+mG/dRHzQFSlsVDvTex 4bjyqdKKEYRxkRWJ3AKdC8tsM4U0KJ4gsrGX3G0LEME8zV/qXdeYMcU0mVwAYVXE GwJbxeOJyLS4bx448lYm6UHvPc2smU9ZSlctS32ux4j71pg79eXw6ImJuYsDy1oj H6T9uOr7Lp2uanMJvPzVoLVEgqtEkS5QLlfBQ9iRBIvpES5ftD953x77PzAAi1Pj tywdO02L3ORkHQRYM68bVeerDL8wBHTk8w4vMDmNSwSMHnVmZkngvkA0x1xaUZK6 EjxS1QSCVS1npd+3lXzuP8MIugS+wEY= -----END CERTIFICATE----- --- Server certificate subject=/C=JP/OU=Domain Control Validated/CN=refirio.net issuer=/C=BE/O=GlobalSign nv-sa/CN=GlobalSign Domain Validation CA - SHA256 - G2 --- No client certificate CA names sent Peer signing digest: SHA512 Server Temp Key: ECDH, P-256, 256 bits --- SSL handshake has read 3718 bytes and written 415 bytes --- New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384 Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1.2 Cipher : ECDHE-RSA-AES256-GCM-SHA384 Session-ID: DB797C134B3DD73500CD0083AFEE92E01435AFD3437429D73FA7ADF37890C8D1 Session-ID-ctx: Master-Key: C38818F50369E8FFADCBD244C2F0273C49BB0A3FCF7A208AF58B25609214640380457F3B461DFB1B74D1D3CDF0EF30B5 Key-Arg : None Krb5 Principal: None PSK identity: None PSK identity hint: None TLS session ticket lifetime hint: 300 (seconds) TLS session ticket: 0000 - 08 48 6d 38 00 88 40 a3-ea 6b 94 14 6d ab da be .Hm8..@..k..m... 0010 - 15 c4 24 50 71 b4 16 d5-74 e3 a5 2c 79 49 e1 d9 ..$Pq...t..,yI.. 0020 - f1 4d 32 7e af 69 b6 96-b0 bf dc 8e ee 9e f0 f4 .M2~.i.......... 0030 - 30 4f ad 9e 61 99 9e e1-36 9f 46 5d e7 ae c7 8e 0O..a...6.F].... 0040 - 1b 25 e3 88 58 51 7b d2-86 f8 14 29 f7 ee 5c 40 .%..XQ{....)..\@ 0050 - df d5 c3 63 1a 3a 44 87-5d 4a f7 fc b4 9e 9d 3e ...c.:D.]J.....> 0060 - f9 9a e1 b5 38 0d e8 26-fb c2 cd e1 ca ba fc 79 ....8..&.......y 0070 - 84 88 36 1a 69 30 eb 2d-eb 41 e7 3c 2e 51 8a bb ..6.i0.-.A.<.Q.. 0080 - 73 07 22 f1 91 1c ef 10-64 47 f7 27 17 c0 2a 4f s.".....dG.'..*O 0090 - af 17 2f 36 9a ec 90 c6-aa a5 a3 e8 98 e4 c5 2e ../6............ 00a0 - 73 75 52 36 72 db 9d ca-82 92 c0 22 be 76 ae 77 suR6r......".v.w 00b0 - 69 eb 66 a4 0a da f3 8a-0a bd 79 0f 1e 8a 1a 4c i.f.......y....L Start Time: 1526013372 Timeout : 300 (sec) Verify return code: 0 (ok) ---
■ブラウザで証明書情報を確認
証明書と中間証明書は外部に公開されている ブラウザのアドレスバーの鍵アイコンをクリックし、「証明書」を選択するとダイアログが表示される 「詳細」タブの「シリアル番号」を確認する ■バージョン
V3
■シリアル番号
79057f121209e24c3be05248
■署名アルゴリズム
sha256RSA
■署名ハッシュアルゴリズム
sha256
■発行者
CN = GlobalSign Domain Validation CA - SHA256 - G2 O = GlobalSign nv-sa C = BE
■有効期間の開始
2017年4月17日 16:40:02
■有効期間の終了
2018年5月27日 15:03:42
■サブジェクト
CN = refirio.net OU = Domain Control Validated C = JP
■公開キー
30 82 01 0a 02 82 01 01 00 de a7 07 e0 59 aa c2 34 6d de 2f b4 88 bb 85 fc a3 b4 40 af be 6a 05 b6 5b e6 1a cc 63 48 cf 21 43 f9 76 68 b4 af 3d bd 3c 6d 2b 27 1a 56 1a e6 1b 36 d9 4f 08 a2 13 88 a1 76 28 2d 12 6f 15 dd 81 58 f7 e1 1b 25 7d aa e4 26 84 47 3b 72 a1 09 43 a0 83 85 6a 9e 12 d2 da 50 9c 5f 8a 6e e0 9a 02 20 e9 e0 dc 93 c6 c9 4a 9d ef 7b b9 73 5e 88 c1 b4 17 15 49 2b e5 0f f6 05 38 26 c5 bb ca 6c ae 57 71 5a 75 36 1e b4 c0 ef c0 00 32 83 69 fa 0f 77 31 ad 9c 68 f3 5e 28 e7 2c b9 c5 1e 14 fe 59 57 c1 5a 2a ec 03 aa 41 76 a7 82 55 d9 79 a2 e4 20 d2 26 53 74 21 7b fb 45 94 41 31 02 35 04 48 1b c1 6b 53 59 b6 7b a1 b5 4d 78 df dc 94 fa cc 18 c1 0c 4d 95 96 fd 14 09 ec 49 4e 25 01 a8 bc 8e d9 96 d1 c4 2c 9e 2c 4c 18 d3 1f e8 eb e9 52 73 67 ff c1 9c 31 98 9f d6 9b 61 2e 7b 18 0d 02 03 01 00 01
※実際には改行は無い 先頭の「30 82 01 0a 02 82 01 01」と末尾の「02 03 01 00 01」を除いたものが、公開鍵の内容(素数の積)と一致する ■公開キーのパラメーター
05 00
■機関情報アクセス
[1]Authority Info Access Access Method=証明機関の発行者 (1.3.6.1.5.5.7.48.2) Alternative Name: URL=http://secure.globalsign.com/cacert/gsdomainvalsha2g2r1.crt [2]Authority Info Access Access Method=オンライン証明書状態プロトコル (1.3.6.1.5.5.7.48.1) Alternative Name: URL=http://ocsp2.globalsign.com/gsdomainvalsha2g2
■証明書ポリシー
[1]Certificate Policy: Policy Identifier=1.3.6.1.4.1.4146.1.10 [1,1]Policy Qualifier Info: Policy Qualifier Id=CPS Qualifier: https://www.globalsign.com/repository/ [2]Certificate Policy: Policy Identifier=2.23.140.1.2.1
■基本制限
Subject Type=End Entity Path Length Constraint=None
■CRL配布ポイント
[1]CRL Distribution Point Distribution Point Name: Full Name: URL=http://crl.globalsign.com/gs/gsdomainvalsha2g2.crl
■サブジェクト代替名
DNS Name=refirio.net
■拡張キー使用法
サーバー認証 (1.3.6.1.5.5.7.3.1) クライアント認証 (1.3.6.1.5.5.7.3.2)
■サブジェクトキー識別子
763690c0d7cf77c67dc3f1aac755667baa7e50e9
■機関キー識別子
KeyID=ea4e7cd4802de5158186268c826dc098a4cf970f
■SCT一覧
v1 5614069a2fd7c2ecd3f5e1bd44b23ec74676b9bc99115cc0ef949855d689d0dd 2017?年?4?月?17?日 16:40:04 SHA256 ECDSA 304502205e22aeee18bc2b9dbcd0257e55b4377d0a2ad6718a23c29d217b1bb83cee1604022100b254aadcb51f9c331af1eaaee59752d975879823e9a70d93ca65719d4c9af308 v1 a4b90990b418581487bb13a2cc67700a3c359804f91bdfb8e377cd0ec80ddc10 ?2017?年?4?月?17?日 16:40:04 SHA256 ECDSA 3046022100b7c7c3d17c8dcd303276f722907d9d67490755247b2b8d7318e68bed256161c7022100a40478340d59e714edfcd70c1578bb26c0e2b5d4856d2a6bf6af5953aa76bf64 v1 bbd9dfbc1f8a71b593942397aa927b473857950aab52e81a909664368e1ed185 ?2017?年?4?月?17?日 16:40:04 SHA256 ECDSA 3045022021524487d46816a5c8c7e6464f84d9703e2866ae76af6192f3320e3ef5afd996022100887ccb0ae75cb8a76e6f8e003be4c7f29973115e3a0d6bb804a959e08a6b2dce v1 ddeb1d2b7a0d4fa6208b81ad8168707e2e8e9d01d55c888d3d11c4cdb6ecbecc ?2017?年?4?月?17?日 16:40:04 SHA256 ECDSA 3044022055758dd6ba0ab77e736229259f0498aa3843e76f80d98af987cbc535d1aba6a40220433c6ef13ae80b5cc897c69488a5a31c9e50b1b8a13d910983deb11d77ea73b6 v1 ee4bbdb775ce60bae142691fabe19e66a30f7e5fb072d88300c47b897aa8fdcb ?2017?年?4?月?17?日 16:40:05 SHA256 ECDSA 30440220442b4ca845657d702371138aca6ca3ac1b8c6d06a19015c90ffd322396e2602a022049464a7096ae4e31f23de87a132148912d4523e382340bad1a7d36832f282416
■キー使用法
Digital Signature, Key Encipherment (a0)
■拇印
4f74de09d1107715d0921da0296380b31275d149
■証明書文字列から証明書情報を確認
本当に意図した証明書がサーバ上に反映されているか確認する方法 まずは、サーバ上に反映したはずの証明書の内容をテキストファイルに入力し、拡張子を「.cer」にして保存する そのファイルをダブルクリックで開くと、証明書の内容を確認できる(Windows10で、ダイアログが開くのを確認できた) 「詳細」タブの「シリアル番号」を確認する 次に、サーバ上に適用済みの証明書を確認する ブラウザのアドレスバーの鍵アイコンをクリックし、「証明書」を選択するとダイアログが表示される 「詳細」タブの「シリアル番号」を確認する それぞれの「シリアル番号」が一致していることを確認する 必要に応じて、その他の項目も比較確認する 証明書のシリアル番号の確認方法 https://knowledge.digicert.com/ja/jp/solution/SO25504.html
■1サーバに複数のSSL証明書を設定する
現在はSNIにより設定が可能になっている Etcetera.txt の同項目を参照
■未整理メモ
pemのみの場合と、公開鍵秘密鍵の2つを作る場合 について整理中 makeで証明書を作成しているのは、同階層にMakefileがあるからか Makefile内で「openssl」といった文字列を確認できる Make と Makefile の説明 https://www.unixuser.org/~euske/doc/makefile/ openssl genrsa はブラウザでHTTPS通信を行う時に使うSSL用の秘密鍵と公開鍵を発行するコマンド、 ssh-keygen はリモートマシンを操作する時に使うSSH用の秘密鍵と公開鍵を発行するコマンド らしい pemは証明書情報をbase64でテキスト化したものらしい Linux - openssl genrsa と ssh-keygenについて|teratail https://teratail.com/questions/14469 どの命令で何が作られるのか、改めて整理しておきたい 以下は参考メモ ■SSH 以下で認証用の鍵を作成している
$ cd $ ssh-keygen -t rsa
■Web 以下で証明書を作成している(オレオレ証明書)
# cd /etc/pki/tls/certs/ # make server.crt
内部で以下が実行される?
/usr/bin/openssl req -utf8 -new -key server.key -x509 -days 3650 -out server.crt -set_serial 0
以下で作成しているメモもある
# cd /etc/httpd/conf/ # openssl genrsa -des3 -out ssl.key/refirio.net.20170417.key 2048
■FTP 以下で証明書を作成している
# cd /etc/pki/tls/certs # make vsftpd.pem
内部で以下が実行される?
/usr/bin/openssl req -utf8 -newkey rsa:2048 -keyout $PEM1 -nodes -x509 -days 365 -out $PEM2
■MAIL 以下で証明書を作成している
# cd /etc/pki/tls/certs # make dovecot.pem
内部で以下が実行される?
/usr/bin/openssl req $(UTF8) -newkey $(TYPE) -keyout $$PEM1 -nodes -x509 -days $(DAYS) -out $$PEM2 $(EXTRA_FLAGS) ;

Advertisement