JNSA PKI Day 2010 講演「OpenSSL 1.0.0のリリースについて」補足情報のページ


2010年6月29日に開催されたJNSA PKI Day 2010の「OpenSSL 1.0.0のリリースについて」の講演資料につきまして、補足情報、追加情報をここで公開します。

更新情報

  • 2010.07.02 デバック情報付きNIST PKITSテスト実行スクリプト pkits-test.pl とそのログを本ページで公開しました。
  • 2010.07.01 10:00にJNSA様サイトに置かれているOpenSSL1.0.0のリリースについての講演資料(PDF)が更新されております。講演時と同じ内容になるよう置かれているものをアップデートしました。お手数ですが必要な方は再度ダウンロードをお願いします。

test/pkits-test.pl PKITSテストスイートの実装に関するメモ

テスト用Perlスクリプト "test/pkits-test.pl" は、NIST PKITSの全テストケースをopenssl cmsコマンドで検証するためのスクリプトです。

変数 @testlists について

ここにはテスト項目情報が配列として格納されている。各要素はテストケースを表している。要素数によって処理が異なる。
  • 2個 - ただの大きな章見出しを表示するだけでテストは行わない。(ex. 4.1 "Signature Verification")
    • [0] テスト番号
    • [1] テスト名
  • 3個 - 普通のテスト
    • [0] テスト番号
    • [1] テスト名
    • [2] 期待値情報
  • 7個 - ポリシ処理を含む複雑なテスト

pkits-test.pl のデバック出力版とsmime対応版

test/pkits-test.pl は実行してみても、テストの大きな章立てが表示され"Test Successful"と表示されるだけなので、実際どんなコマンドをどんなふうに動かして、どんな出力があって期待値と比較してどうだったのかってことはわかりません。

また、openssl smimeとopenssl cmsコマンドはとても似ているんですが、pkits-test.pl は openssl cms コマンド用で openssl smime 用ではありません。何故なら、openssl cms -verify と openssl smime -verify ではリターンコードが違っていて、openssl smime の方はどんなエラーでも同じコード値しか返しませんが、openssl cms -verify はエラーケースによって様々な値を返します。

デバック出力つきの pkits-test.pl の cms 用と、smime 用のスクリプト、そして実行結果のログファイルを以下に置いておきます。改行コードがWindowsとLinuxとで違うので必要に応じdos2unix なんかで変換して使ってみてください。

※1:テストはUbuntu 10.04上でビルドしたOpenSSL 1.0.0で行っています。

正誤表

2010.07.01に更新した版でも残っている誤りがありました。申し訳ありません。訂正は以下の通りです。

p14右
誤:CipherSuiteには最新の注意が必要
正:CipherSuiteには細心の注意が必要

p23 :
二段目が左右入れ替わっており間違っている正しくは以下
CMS:常にcontentはOCTET STRINGでカプセル化される
PKCS7:内包署名で含まれるcontentがdata型以外の場合はカプセル化はされない

p32:図中一番下
誤:4ビットulong値
正:4バイトulong値

リンク





最終更新:2010年07月04日 19:41