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
「LinuxのUDPソケットとPath MTU Discovery」の記事で簡単なネットワークの構成図を示してPath MTU Discoveryの解説を行いました。大昔ならこの手の動作確認をしようとするとPCを複数台用意する必要がありましたが、今では、Linuxホストが一台あればテストできます。
2023/03/15 16:15
前回は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
アーカイブ
タグ
Server (30) 作業実績 (22) PHP (19) ネットワーク (17) プログラミング (16) OpenSSL (10) C (8) C++ (8) PHP関連更新作業 (8) EC-CUBE (7) Webアプリ (7) laravel (6) Linux (6) Nginx (6) 与太話 (5) 書籍 (5) AWS (4) JavaScript (4) Vue.js (4) Rust (3) Golang (2) Symfony (2) お知らせ (2) Apache (1) CreateJS (1) MySQL (1) OSS (1) デモ (1)