- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2020-03-05T07:24:19+00:00","default:admin","admin")
#author("2022-01-27T23:56:59+00:00","default:admin","admin")
-[[SSL証明書の確認について調べてみた!⑤:https://www.kurodamon.com/server/ssl_cer_005/]]
-[[WindowsにOpenSSLをインストールして証明書を取り扱う(基本編):https://www.atmarkit.co.jp/ait/articles/1601/29/news043.html]]
*コマンド [#ye50e1ab]
-[[opensslコマンド例文集:http://multix.jp/openssl-command/]]
**SSL証明書の確認 [#k9ff358c]
-SSL証明書の確認
openssl verify -partial_chain -trusted 【中間証明書】 【サーバ証明書】
-SSL証明書の内容確認
openssl x509 -text -noout -in [SSL証明書 ex)server.crt]
-秘密鍵ファイルの内容を確認
openssl rsa -text -noout -in [秘密鍵ファイル]
-CSRファイルの内容を確認
openssl req -text -noout -in [CSRファイル]
-PFXファイルの確認
certutil -dump [PFXファイル]
PFX パスワードの入力:
*プログラミング [#h4201d8d]
-[[SSL/TLS でアクセスしてみよう (1):http://x68000.q-e-d.net/~68user/net/ssl-1.html]]
-[[SSL/TLS でアクセスしてみよう (2):http://x68000.q-e-d.net/~68user/net/ssl-2.html]]
-[[C 言語: OpenSSL を使って HTTPS クライアントをつくる:https://blog.sarabande.jp/post/82068392478]]
-[[C 言語: OpenSSL を使って HTTPS サーバーをつくる:https://blog.sarabande.jp/post/82087204080]]
-[[[C言語] HTTPSクライアントを作ってみる:https://qiita.com/edo_m18/items/41770cba5c166f276a83]]
**前処理 [#b3158f3b]
***SSL_load_error_strings() [#h3b3d530]
-OpenSSL のエラー文字列を読み込み
-予め SSL_load_error_strings() を実行しておけば、(比較的) わかりやすいエラーメッセージが表示されるようになる
***SSL_library_init() [#n55b6acf]
-SSL/TLS の初期化
-暗号方式やメッセージダイジェスト関数などが自動的に登録される
***SSL_CTX_new() [#waabad0b]
-SSL_CTX構造体の生成(使用プロトコルの指定)
***SSL_new() [#m18982c8]
-SSL_CTX 構造体にセットしたプロトコルや暗号化方式を元に、コネクションを管理する SSL構造体を新たに生成
***SSL_set_session() [#ma184413]
***SSL_set_fd() [#p60a3bf1]
-コネクション済のソケットとSSL構造体を結びつける
***SSL_connect() [#w6fc879a]
-自動的にサーバとハンドシェイクが行われ、以下が確定となる
--使用するプロトコル(SSLv2 / SSLv3 / TLSv1)
--使用する暗号化方式・鍵交換方式・ハッシュ方式
--サーバ証明書の取得
--使用する共通鍵
***SSL_get1_session() [#jd60def2]
***SSL_get_cipher() [#sd8e468e]
***SSL_get_cipher_version() [#r394bb6c]
***SSL_get_peer_certificate() [#w677e563]
**送受信 [#o7b44378]
***SSL_write() [#d69e6abf]
***SSL_read() [#y124337b]
**後処理 [#l36a91ce]
***SSL_shutdown() [#i1e45b9d]
-SSL/TLS のコネクションを切断
-ソケットのコネクション切断は別
***SSL_free() [#o8884fb9]
-SSL_new() で確保した領域を開放
***SSL_CTX_free() [#zeeaeb31]
-SSL_CTX_new() で確保した領域を開放
***ERR_free_strings() [#r9dde9f5]
-SSL_load_error_strings() で確保した領域を開放
*エラー [#d944daea]
**X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY [#j8d362f5]
-[[SSL_CTX_load_verify_locations:https://www.openssl.org/docs/manmaster/man3/SSL_CTX_load_verify_locations.html]]
-[[How to fix X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY Squid error:https://docs.diladele.com/faq/squid/fix_unable_to_get_issuer_cert_locally.html]]
-[[OPENSSL connection to a public server gives X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY:https://stackoverflow.com/questions/24315526/openssl-connection-to-a-public-server-gives-x509-v-err-unable-to-get-issuer-cert]]
-[[ssl - パブリックサーバーへのOPENSSL接続は、X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLYを提供します:https://ja.ojit.com/so/ssl/1101453]]