#author("2022-01-27T23:53:55+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証明書の確認
 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言語] HTTPSクライアントを作ってみる:https://qiita.com/edo_m18/items/41770cba5c166f276a83]]
-[[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]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS