コマンド

  • 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 パスワードの入力:

プログラミング

前処理

SSL_load_error_strings()

  • OpenSSL のエラー文字列を読み込み
  • 予め SSL_load_error_strings() を実行しておけば、(比較的) わかりやすいエラーメッセージが表示されるようになる

SSL_library_init()

  • SSL/TLS の初期化
  • 暗号方式やメッセージダイジェスト関数などが自動的に登録される

SSL_CTX_new()

  • SSL_CTX構造体の生成(使用プロトコルの指定)

SSL_new()

  • SSL_CTX 構造体にセットしたプロトコルや暗号化方式を元に、コネクションを管理する SSL構造体を新たに生成

SSL_set_session()

SSL_set_fd()

  • コネクション済のソケットとSSL構造体を結びつける

SSL_connect()

  • 自動的にサーバとハンドシェイクが行われ、以下が確定となる
    • 使用するプロトコル(SSLv2 / SSLv3 / TLSv1)
    • 使用する暗号化方式・鍵交換方式・ハッシュ方式
    • サーバ証明書の取得
    • 使用する共通鍵

SSL_get1_session()

SSL_get_cipher()

SSL_get_cipher_version()

SSL_get_peer_certificate()

送受信

SSL_write()

SSL_read()

後処理

SSL_shutdown()

  • SSL/TLS のコネクションを切断
  • ソケットのコネクション切断は別

SSL_free()

  • SSL_new() で確保した領域を開放

SSL_CTX_free()

  • SSL_CTX_new() で確保した領域を開放

ERR_free_strings()

  • SSL_load_error_strings() で確保した領域を開放

エラー

X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-01-28 (金) 08:56:59 (818d)