脳ざらし紀行


2005-02-07

_ [ネット] Wiki を編集するまでに乗り越えるハードル

逆引きRubyは俺も大変お世話になった(というか現在進行形でなっている)。恩返しをするべく、まだ開いてるページ(CGIとかは欲しい人が多そうだなあ)を埋めてみようかと思いつくものの、ForntPageから察するに、たけうちさんの執筆物という形で作っているようだから、細部修正はともかくでっかくのっけるのは気が引ける…。

てくのーと

そこでやっぱり止まってしまうのか。Wiki なんだから他人のサイトだろうが自分が思うように編集して良いと思います。自由に編集されるのが嫌だったら認証を掛けるでしょうし。

個人の Wiki でさえ編集することが躊躇されるんだから、Ruby の公式リファレンスマニュアルの編集するまでに乗り越えるハードルはやっぱり高いんだろうか。どうやったら人が集まるだろう。

Wikipedia についてに関しては反応リンク集の先までは読んでないんだけど、思ったこと。間違いに気付いたら正しい記事を書けないまでも、「こことここは間違っている」と書くだけで、それは立派な貢献だと思う。また、ページの記述が全体的にどうしようもなかったら、全部削除して「間違いが多すぎたので削除。執筆者募集。」と書き換えるのもありだと思う。

_ [ネット] OpenSSL::PKey::DSAのverifyに渡すsignをrとsで指定する方法

正解自体は なひさんがコメントで書いているけど、どうやってこれを調べたら良いのかメモ。

RFC 2459 「インターネットX.509 PKI - 証明書と CRL のプロファイル」の 7.2.2 に ASN.1 で

 Dss-Sig-Value ::= SEQUENCE { r INTEGER, s INTEGER }

と書いてある。だから、

 
 require 'openssl'
 include OpenSSL
 sig = ASN1::Sequence.new([ASN1::Integer.new(r), ASN1::Integer.new(s)]).to_der

が正解なのか。

でも RFC 2459 は RFC 3280 により obsolete されている。かつ RFC 3280 には DSA の署名の ASN.1 構造が載っていない。正解にたどり着くのは結構難しい。

DSA 自体の仕様は ANSI X.9.30.1 を見るのが一般的らしい。ただし有料。$50。無料で仕様書を閲覧できるRFC というシステムは素晴らしいなと思った。

_ [ネット] ASN.1 バイナリ変換規則

がんばって RFC とか仕様書とかを読んでみたけど、このページが一番分かりやすかった。

_ [Ruby] OpenSSL::ASN1.decode

ちゃんとデコードされる。おもしろい。

$ ruby -ropenssl -rpp -e ' 
pp OpenSSL::ASN1.decode("0,\002\024C\e\317)%E\300NR\347}\326\374\261fL\203\317-w\002\024\v[\232$\021\230\350\363\206\220\004\366\010\251\341\215\245\314:\324")
'  
#<OpenSSL::ASN1::Sequence:0x40331224
 @tag=16,
 @tag_class=:UNIVERSAL,
 @tagging=nil,
 @value=
  [#<OpenSSL::ASN1::Integer:0x40331288
    @tag=2,
    @tag_class=:UNIVERSAL,
    @tagging=nil,
    @value=383122548009866097833353951919834639622095187319>,
   #<OpenSSL::ASN1::Integer:0x40331238
    @tag=2,
    @tag_class=:UNIVERSAL,
    @tagging=nil,
    @value=64841693857718051568170099635345788375059413716>]>
お名前:
E-mail:
コメント:
本日のリンク元

最近のコメント

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|04|05|
2011|04|
2012|03|07|
2013|01|02|07|
トップ «前の日記(2005-02-06) 最新 次の日記(2005-02-13)» 編集