タグ

ブックマーク / zenn.dev/cube (2)

  • 証明書を理解するため、自作証明書パーサーを作ろう(Part1 証明書とDER、ASN.1編)

    なぜ書いたか TLSについて良く知らないままで、特に証明書を調べているときにx509とかASN1という謎の用語が出てきたので理解のために書いてみました。 レポジトリ x509,ASN1,DERって? 下記が詳しいです。 X509 X509証明書、証明書のこと ASN.1 X509証明書を記述するための抽象的なデータ構造、pseudocodeのようなもの DER X509証明書をバイトで表現するための具体的仕様、CやGoなどの言語のようなもの さらに、DERでバイトにした後圧縮をBase64で行い、 圧縮したデータの前に、 -----BEGIN CERTIFICATE----- 後ろに、 -----END CERTIFICATE----- を付けたのがPEMです。 全体の目標 PEMからASN.1に復元するのが目標です。 ASN.1に復元することによってPEMから公開鍵の情報だったりを抽出す

    証明書を理解するため、自作証明書パーサーを作ろう(Part1 証明書とDER、ASN.1編)
  • 自分でRaftを書いてみた話

    Raftって? 分散合意アルゴリズムの一種で、サーバー間のデータ一貫性保障や可用性担保に使われるやつ。 Raft登場以前は理解が難しい物ばかりだったが、Raftは理解の面でも実装の面でも容易なのが売り。(といっても僕には難しかったですが...) レポジトリ なぜ既存実装を見ずに書いたか、車輪の再発明をしたか ・なぜ車輪の再発明をしたか 「Goによる分散サービス」というをやっていてRaftを使って分散ログシステムを実装する箇所があり、この時Raftの実装に興味を持ちました。 Raftの仕組み自体は大まかには知っていたんですが、もっとよく理解してみるには自分で実装するのが一番と思いやりました。 ・なぜ既存実装を見なかったか 今回は論文から自分で書き起こすという体験をしてみたかったからです。 既存実装を見ながらだと論文そっちのけになってしまったり、人が書いてるからもういいかな...みたいになっ

    自分でRaftを書いてみた話
  • 1