OpenSSLでX.509証明書のホスト名検証を行う際のフラグ指定
httpsなどでTLS接続する際、サーバー証明書の検証が行われ、その中で証明書のホスト名が接続先のホスト名と一致するかどうかがチェックされます。 OpenSSLではX509_check_host(), X509_VERIFY_PARAM_set_hostflags()の関数に与えるフラグで、このホスト名の検証動作を変更することができます。
2023/09/15 15:38
httpsなどでTLS接続する際、サーバー証明書の検証が行われ、その中で証明書のホスト名が接続先のホスト名と一致するかどうかがチェックされます。 OpenSSLではX509_check_host(), X509_VERIFY_PARAM_set_hostflags()の関数に与えるフラグで、このホスト名の検証動作を変更することができます。
2023/09/15 15:38
前回はDTLSのハンドシェイクについて説明しましたが、今回はシーケンス番号まわりの説明をしたいと思います。
本記事では特に断らなければDTLSとはDTLS1.2を指すものとします。
2023/02/13 19:02
TLS1.2ではHandshakeにおいてChange Cipher Specを送信していましたが、TLS1.3ではこの手順はなくなりました。ただ、TLS Handshakeのやりとりをキャプチャしてみると、依然としてChange Cipher Specが送信されています(図1)。
2023/02/04 22:48
暗号化通信というとTLSが使われることが多いと思いますが、これはTCP通信を暗号化するために使われます。一方、UDP上の通信を暗号化したい場合は、DTLSというプロトコルが使われます。DTLSではUDP固有の問題に対応するために、TLSにはない機能がいくつか追加されています。今回はハンドシェイクについてみてみます。
2023/01/21 20:58
OpenSSLのAPIを使って開発を行っていると、TLS通信の内容を確認したいことがあると思います。printfデバッグでもいいのですが、今回はWiresharkでキャプチャしたい場合の手順です。
2022/12/04 20:21
OpenSSLを使ったプログラミングをしていると、SSL_CTX_set_mode() / SSL_CTX_clear_mode()で指定できる SSL_MODE_AUTO_RETRY という設定があります。今回はこれがどのようなものなのかを説明します。
2022/03/29 16:20
OpenSSLでのサーバー証明書の検証の記事への補足です。
2012年にSSL/TLSプロトコルへの攻撃手法としてCRIME攻撃というものが見つかり、その対策として「SSL/TLSの圧縮機能は使うな」ということになりました。
2022/01/31 14:28
以前、「OpenSSLでのサーバー証明書の検証」の記事でOpenSSLを使ったTLS接続時に証明書の検証を行う方法を紹介しましたが、今回は接続時にOCSP(Online Certificate Status Protocol) Staplingによって証明書の失効チェックを行う例を示します。
2021/12/27 23:51
今回はOpenSSLでのサーバー証明書の検証に関する話です。といってもopensslコマンドではなく、OpenSSLライブラリのAPIの方の話になります。
2020/04/07 10:44