タグ

ブックマーク / catatsuy.medium.com (2)

  • 政府によるインターネットの検閲とSNIについて

    しかし今回一般の人の目にも触れる形でSNIやHTTPSのことが報じられた結果、エンジニアも含めて明らかに技術に関して勘違いをしているのではないかと感じる発言を見ることがありました。このまま放置するのも良くないと感じているので、Q&Aという形でSNIやHTTPSに関する誤解を少しでも解ければと思います。 Q&AQ: そもそもSNIって何?以前書いた記事にも書かれているので是非読んでみてください。 簡単に説明すると、HTTPSではSSL/TLSを利用して通信が暗号化されます。なので1つのIPアドレスで複数の証明書を扱おうとした場合、最初の通信時にどの証明書を利用すればいいか分かりません。そこでSNIが必要になります。 SNIは最初の通信時に今から通信したいサーバーネーム(ドメイン名と考えてください)をサーバーに平文で渡すことで、通信したいSSL証明書を指定できます。SNIは現在の一般的なブラウ

  • Goで外部プログラムをexecするpackageのテストをどうするか

    とsongmuさんに教えてもらったことを参考に考えてやってみた方法を紹介します。あくまでも自分が考えた方法です。もっといい方法などあればぜひ教えてください。 まずテストの実行前に常に実行する処理を書きたいです。これは*testing.Mを使えばできます。 こう書くことでテストの実行前に setup 関数、全てのテスト終了時に clean 関数を実行できます。tmpのディレクトリ名を渡しているのはあとで解説します。それでは setup 関数と clean 関数はどうすればいいのかという話になりますが、その前にどういうテストを実行すべきかを考えてみます。 今回は外部プログラムの代わりに違うプログラムを実行したいのでそのプログラムを setup 関数で準備します。準備するプログラムは以下のようにしました。 起動したプロセスが突然死んだり、SIGTERMを送ってもなかなか死なないケースのパターンを

  • 1