Shammer's Philosophy

My private adversaria

2013-01-01から1年間の記事一覧

X509証明書項目-証明書ポリシー(PolicyIdentifier)

説明(書籍から一部引用) これは証明書の用途に関するポリシー識別子と修飾子のリストです。ポリシー識別子は証明書パスを検証する過程で使用することができます。ポリシー拡張領域が他の認証局によって発行されたCA証明書内で指定されている場合、そのポリシ…

X509証明書項目-秘密鍵利用期間(PrivateKeyUsage)

説明(書籍から一部引用) デジタル署名鍵を使用する際、秘密鍵の有効期間が証明書の有効期間と異なる場合があります。署名を生成する秘密鍵が有効でなくなり使えなくなったずっと後で、証明された公開鍵を使用してデジタル署名を検証しなければならないことは…

X509証明書項目-拡張鍵用途(ExtendedKeyUsage)

説明(書籍から一部引用) ExtendedKeyUsage拡張領域で、鍵の追加的な用途情報を指定できます。鍵の用途は鍵の用途識別子のリストとして定義されます。任意の組織は鍵の用途情報とそれに対応する識別子を定義することができます(これらの識別子の登録には他の…

X509証明書項目-鍵用途(KeyUsage)

説明(書籍から一部引用) KeyUsage拡張領域は公開鍵を使用する目的を定義します。 この拡張領域にはクリティカルの印をつけることを推奨します。 この拡張領域にクリティカルのフラグがついている場合、鍵はその指定された目的のみ使用されなければなりません…

証明書項目-対象者識別子(SubjectKeyIdentifier)

説明(書籍から一部引用) SubjectKeyIdentifier拡張領域は、証明書の対象者が複数の鍵集合を使用している場合、どの鍵集合に公開鍵が属しているかを示します。AuthorityKeyIdentifierとは違い、keyIdentifier形式のみが使用されます。この拡張領域は常に非ク…

X509証明書項目-認証局識別子(AuthorityKeyIdentifier)

説明(書籍から一部引用) 証明書の署名を検証するために、認証局が所有する複数の公開鍵のうちどれを使用するかを指定するために使用されます。これにより認証局は複数の鍵集合を使用した運用が可能となり、証明書ユーザーはどの鍵集合が使用されるべきかを識…

X509証明書項目-クリティカルインジケータ

クリティカルは項目でなく、項目に付与するフラグであるが。以前に作成した証明書で、basicConstraintsにcriticalを付けたことがある。何も理解せずに呪文のように付けたが、このcriticalにも意味があるということでそれを確認した。 このフラグがあると、こ…

X509証明書項目調査開始!!!

SSL

しばらくOCSPの調査を続けていたが、OpenSSLのOCSPはURLEncodeされたOCSPリクエストを処理できない?その4 - Shammerismで書いたように証明書自体のことを多少理解しないといけなそうなのでOCSPは一旦保留にして、X509のことを調べることにした。いつまでOCSP…

OpenSSLのOCSPはURLEncodeされたOCSPリクエストを処理できない?その4

SSL

その3までの概要 OCSPサーバはHTTPをベースに動作するらしく、OpenSSLのOCSPサーバ機能はその動作を完全に実現しているわけではないらしい。OpenSSLのOCSPクライアントは、OCSPサーバにHTTPヘッダとPOSTボディに必要な情報を入れてOCSPサーバにリクエストを…

OpenSSLのOCSPはURLEncodeされたOCSPリクエストを処理できない?その3

SSL

その2までの概要 OpenSSLのOCSPはURLEncodeされたOCSPリクエストを処理できない?その2 - Shammerismで、OpenSSLを使ってOCSPのリクエストを投げ、その応答を確認するというのをやってみた。これ自体は普通。また、OCSPのサーバはhttpでアクセスするので、ど…

OpenSSLのOCSPはURLEncodeされたOCSPリクエストを処理できない?その2

SSL

その1の振り返り OpenSSLのOCSPはURLEncodeされたOCSPリクエストを処理できない?その1 - Shammerismでうまくいかなかったのは、取得した証明書がDERであったためと思われる。少し慌てていたこともあり、そんなオチとは予想もしていなかった。やり方も整理し…

OpenSSLのOCSPはURLEncodeされたOCSPリクエストを処理できない?その1

SSL

OCSPリクエストの方式 OCSPリクエストには、どうやら(少なくとも)二通りの投げ方があるらしい。OpenSSLのocspでリクエストを投げるのは、普通にhttpのような形でリクエストを投げる。それとは異なる方法がHow to do OCSP requests using OpenSSL and CURL | …

OCSPの動作

SSL

OCSPがCRLに代わって証明書が失効されていないかどうかを確認する手段である、という認識はあったが、実際にこれがどのように動作するかについては認識が甘かった。大抵の場合は、手動で確認しに行くわけではなく、証明書に組み込まれた情報をもとにSSLクラ…

Revokeされた証明書を確認する

SSL

同一DNの証明書を作成するには証明書を無効化(Revoke)すればよい - Shammerismで証明書をRevokeしたが、それをどのように確認すればよいかについてのメモ。 証明書のRevokeとCRLファイルの生成 openssl ca で、-revoke $対象証明書という形で実行。-gencrl …

同一DNの証明書を作成するには証明書を無効化(Revoke)すればよい

SSL

OpenSSL TXT_DB error number 2 OpenSSL で独自の CA を作成して証明書を作成していると、以下のようなエラーで証明書をコミットできないことがある。 Sign the certificate? [y/n]:y failed to update database TXT_DB error number 2 Signed certificate i…

HTML変換コマンドその2

昔作成したHTML変換コマンドのバージョンアップ版。特殊文字をHTML用に変換するだけだったが、URLをリンクにする内容を追記した。 (defun text2html (start end) (interactive "r") (save-excursion (save-restriction (narrow-to-region start end) (goto-c…

opensslでOCSPを動作させる

SSL

OCSPとは OpenSSLでCRLを生成する - Shammerismで、証明書を失効させる方法をメモしたが、そのCRLを配信する仕組みとしてOCSPというものがあるらしい。これをopensslで実行できるようだ。 CRLの作成 以前の記事とほぼ同じだが。 Define original CA echo 00 …

iptables auto configuration

Debianで宛先ごとにルートを変更する - Shammerismで作成した iptables-save のファイルは複数のインタフェースごとに設定される内容。そのため、/etc/network/interfacesで、それぞれのインタフェースごとにpre-up iptables-restore そこで、別の方法を調査…

大量ファイル一括編集スクリプト

非常に多くのテキストファイルの一部のみ変更したい、そんな場合に使うスクリプトを書いた。流れとしては、 編集対象ファイルのあるディレクトリをリストアップ そのディレクトリ内のファイルにある編集したい文字をsedで置換 というシンプルなものだが、念…

Debianで宛先ごとにルートを変更する

概要 Debian Router 化計画 - Shammerismでは、Debianをルーターのように動作させる設定をやってみた。ルーターではないが、宛先ごとに使用するインタフェースを変更したい(ルートを変えたい)。 構成としては、インタフェースを複数持っているDebianで、宛先…

FTP Passive モードフロー

FTP Active モードフロー - Shammerismで、FTP の Active 時の動作を見てみたが、今度は Passive 時の動作を見てみることにした。 コントロール通信 データのやりとりとコントロールのやりとりが別になっているのはActiveと同じ。違いは、サーバーがデータ送…

multiple-value-bindを使用せずに複数の返り値を処理する

multiple-value-bindで取得した変数を無視する - Shammerismの別バージョン。declareで無視させるのではなく、そもそも受け取る値を選択するバージョン。何度もdecode-universal-timeを呼出すので効率はよくなさそうだ。かと言って、これを一度実行して let …

multiple-value-bindで取得した変数を無視する

ファイルのタイムスタンプを取得【その3】 - Shammerismで時間を取得する関数を書いた。multiple-value-bindの戻り値で実際は使用しないだろうと思われるが返される値を取捨選択する方法がわからないのでそのまま全部受け取っているが、実際は使用されない…

Fileのタイムスタンプを比較する

Mac

システムの現在の時間は、date コマンドで取得できる。Localeによって表示のされ方は異なると思われるが、自分の環境では「曜日・月・日・時刻・タイムゾーン・西暦」というような順番で表示される。 $ $ date Sat Apr 13 11:28:39 JST 2013 $ そして、ファ…

Lispで挿入ソート・完

Lispで挿入ソート・その2 - Shammerismで改良したinsert-elementを使用してinsert-sort関数を書いてみた。並べ替え条件と、元リストを渡せばソートした結果を返してくれる、という動き。 ? (defun insert-sort (test org) (format t "Original List is ~A~%"…

Lispで挿入ソート・その2

Lispで挿入ソート・その1 - Shammerismで作成した ins-list を少し改良。比較が常に ? (defun insert-element (test element l) (if (null l) (cons element nil) (let ((first-element (car l))) (if (funcall test element first-element) (append (cons e…

Lispで挿入ソート・その1

挿入ソートというアルゴリズムがあるらしい。定番アルゴリズムを徹底理解! | 日経 xTECH(クロステック)これをLispでやってみようと思う。オリジナルのリストと、ソート済みのリストの双方を用意しなければできなそうだ。流れは以下のような感じだろうか。…

FTP Active モードフロー

FTPのやり取りをパケットで見る機会があったのでメモ。 コントロール通信 FTPでは、コマンドのやり取りをする接続と実際にファイルをやり取りする接続が分かれている。そして、通常はこのコントロール用にサーバーは21番ポートで待ち受ける。この接続では、l…

declareとは

たまに人が書いたLispのコードを見ると、declare というのを使っている。CLHSの解説は以下だが A declare expression, sometimes called a declaration, can occur only at the beginning of the bodies of certain forms; that is, it may be preceded only…

Mac用 Emacs 設定

とりあえずはこんな感じ。 (setq inhibit-startup-screen t) ;;; Font Configurations ;;; If using Window-System, configure myfavoritefontset (when window-system (global-set-key [ns-drag-file] 'ns-find-file) (defvar fixed-width-use-QuickDraw-fo…