2010-06-18

MS-Office2010の署名レベル設定ツール Ofs2010Setupper Ver1.01  [by miyachi]

先日公開したOfs2010Setupperですが、kjurさんからTSALocation(タイムスタンプサーバのURL指定)に長いURLが指定できないとのバグ報告がありました。調べてみたところドロップリストにしているとその幅以上の入力が出来ないようでしたので、TSALocationをエディタに修正してバージョンアップしたVer1.01をリリースします。Ver1.00をお持ちの方は入れ替えをお願いします。

 File : Ofs2010Setupper_v101.zip
 SIZE : 154,482 Bytes
 SHA-1 Hex : 3db952687287ad5d7d254f8c9b2dad21b7d82bdb
 SHA-1 Base64 : PblSaHKHrV19JU+Mmy2tIbfYK9s=

なお前回の繰り返しになりますが、レジストリの変更をすると言うことは色々なリスクがありますし、そもそもあまり変更して欲しく無いのだと思います。ご利用はあくまで長期署名のテスト目的であり自己責任と言うことでお願いしますm(_ _)m



利用環境等に関しては Readme.txt をご覧下さい。

kjurさんご報告ありがとうございました。
2010-06-18 19:01:02 - miyachi - コメントを書く - [公開活動]

2010-06-11

MS-Office2010の署名レベル設定ツール Ofs2010Setupper 公開  [by miyachi]

[2010-06-18] Ver1.01が公開されました

MS-Office2010ではデジタル署名としてこれまでのXML署名(XML-DSig)では無く、長期署名のXAdESが使われるようになりました。しかしながらまだ未成熟な部分もあるようで、署名レベルの変更は一般向けでは無くレジストリ変更によって指定されます。レジストリの変更は面倒であり間違いやすいので、簡単に署名レベルの変更が出来るツールとして Ofs2010Setupper を作りましたので公開します。

 File : Ofs2010Setupper_v100.zip
 SIZE : 154,314 Bytes
 SHA-1 Hex : 89e905d1b9cc85fe01a838aa15b88ca4b2b0aed3
 SHA-1 Base64 : iekF0bnMhf4BqDiqFbiMpLKwrtM=

ただしレジストリの変更をすると言うことは色々なリスクがありますし、そもそもあまり変更して欲しく無いのだと思います。ご利用はあくまで長期署名のテスト目的であり自己責任と言うことでお願いします。さて使い方ですが、



通常はXAdESLevelとTSALocationの変更だけでテスト目的なら充分だと思います。TSALocationはRFC3161標準準拠のみで認証が必要となる商用タイムスタンプ局は使えませんのでご注意下さい。利用環境等に関しては Readme.txt をご覧下さい。

それではMicrosoft初の長期署名機能をお楽しみ下さい!
2010-06-11 20:25:14 - miyachi - 2 コメント - コメントを書く - [公開活動]

2008-04-23

長期署名とオープンソース  [by miyachi]

Le-XAdESのソース公開をしたところ、早速弊社の関連会社であるアンテナハウスのブログ「PDF千夜一夜」で取り上げて頂きました。ありがとうございます。

> 長期署名は、まあ、会社がなくなっても検証されねばならないでしょうし、オープン・ソースにする方が良いかもしれませんね。

はい。ラング・エッジのような小さな会社が長期間に渡って使われるソフトを提供する場合に安心して頂けると言う意味でオープンソースは手段として有効だと考えています。ソースが無いばかりにメンテナンス不能になっているライブラリも世の中には沢山あると思います。

もう一つオープンソースのメリットとしては公開する以上それを意識したプログラミングをする必要があると言うのもあるかもしれません。Le-XAdESライブラリもまだまだお恥ずかしい箇所が沢山ありますが「単に動けば良い」時よりもしっかり作れるような気がします。これは内向きの理由ですね(^^;

他にもライセンス的にまだ問題があるとのご指摘も頂いています。それも実は理解していたのですがまずはソース公開を優先させた結果です。ライセンス関連は勉強して修正して行きたいと考えています。

最後に、PKIの世界は本来は仕組みがパブリックなものです。その意味ではオープンソースとは本来相性が良いはずと考えています。弊社の取り組みが会社として成功するのか失敗するのかはまだこれからにかかっています。しかし失敗してもソースだけは残りますね!
2008-04-23 09:50:56 - miyachi - コメントを書く - [公開活動]

2006-09-08

XML署名ツール LeSignedXml 公開  [by miyachi]

ご注意:現在公開中止しています。[2010-01-26]

Microsoft標準のXML署名機能であるSignedXmlクラスを使った、XML署名ツールLeSignedXmlを公開しました。ほとんどSignedXmlクラスの機能に頼った実装なのでたいしたソースではありませんが、参考になれば幸いです。

公開のきっかけは先日XML署名の検証が出来るツールを探していたのですが、あまり世間に無いようでしたので、それなら作って公開しようと言うことにしたものです。

オープンソース活動」のページからダウンロードとドキュメントへのリンクを張ってありますので、まずはそちらをご覧ください。

何かコメントがあれば、本エントリのコメント欄に投稿ください。
2006-09-08 17:58:41 - miyachi - 2 コメント - コメントを書く - [公開活動]

2005-07-21

ルーク、ソースを使え (Use the Soruce, Luke)  [by miyachi]

と古いSWネタですみません。BouncyCastleを使おうとするとどうしてもソースを見る必要があると言う意味でした。オープンソースの最大の利点はソースを見る事が出来ると言えるでしょう。これは使う時に非常に参考になります。

BouncyCastleのソースを追っていると何だかデジャブに陥ります。昔々遠い銀河の彼方では…じゃ無くて、昔々アップルのMacintosh向けの開発を始めたばかりの頃と重なって見えるのです。当時は開発環境はMPWでクラスライブラリとしてMacAppと言う物が提供されていました。Photoshopをはじめ古いマックのアプリのAbout画面には大抵MacAppを使っていると表記があったものです。

MPWはともかく、このMacAppは優れものでした。膨大な量のソースが提供され、最後の最後に低レベルのMacOSのAPIが呼ばれていたんです。MacAppのソースや説明を見る為の専用ブラウザ"MacApp Browser"も準備(SmallTalk風でした)されており、ノウハウの宝庫でした。何かやりたい処理があればソースを検索すると似たような処理をしているメソッドが見つかって、それを参考にして自分のコードをプログラミングしていました。

MacAppのクラス構成としては、MSのMFCに近かった…と言うか最初はどう見てもMFCはMacAppのタイニー版としか見えませんでした。しかもMFCはソースを追ってもすぐにWindowsAPIに入ってしまい、当時はMacAppとは比べ物になりませんでした。が、他に選択肢が無かったので仕方が無くMFCを使っていたのですが、現在のMFCは拡張に拡張を重ねて当時と比較すると化け物みたいですね。ちなみにMacAppはダウンロードは出来ますが既に終わっている開発環境です。

何はともあれ昔も今もマックの開発環境は情報が少なく、あっても英語だけだったりと最後はMacAppのソースを見るのが基本でした。BouncyCastleやCrypto++を使っていてもやはり最後はソースを見て何をどうやって行っているのかを見るのが重要だと思います。暗号関係も情報が少ないです…あっても英語と言うのも同じです。まぁBouncyCastleCrypto++もメーリングリストがあって検索が出来るだけマシとも思えますね。

他の人の優れたソースを見る事は自分のプログラマとしてのレベルアップには欠かせないようにも思います。ですから「ソースの力を信じろ。ルーク、ソースを使え!」と言っておきましょう。そうやって使っていると不満な点や足りない点が見えてくるかもしれません。そうしたら貢献のチャンスですね。早くそのレベル(ジェダイ・マスター?)になりたいと日々精進するのでした。
2005-07-21 12:31:21 - miyachi - コメントを書く - [公開活動]

2005-07-19

BouncyCastleのインストール手順と確認  [by miyachi]

オープンソース活動と言う事でJava用暗号ライブラリであるBouncyCastleのインストール手順に関してまとめておきます。まずはインストール手順ですが、

手順1:
BouncyCastleのjarファイルを http://www.bouncycastle.org/ からダウンロードする。利用するJDKのバージョンと一致した物か全てをダウンロードするが、jarファイル別々もダウンロードは可能。私は色々便利(ソースも含んでいるのでお勧め)なので全て含んでいる物をダウンロードしている。現在のVer1.29だと crypto-129.tar.gz か crypto-129.zip となります。情報が少ないから結局ソースを追う事が多いです(^^;

手順2:
BouncyCastleのjarファイル(例:bcprov-jdk14-129.jar/bcmail-jdk14-129.jar/bctsp-jdk14-129.jar/bcpg-jdk14-129.jar/bctest-jdk14-129.jar)をJREかJDKの jre/lib/ext/ の下にコピーする。

手順3:
JREかJDKの jre/lib/security/java.security を編集してBouncyCastleの行を挿入する。

---------------------------------------------------------------
       :
#
# List of providers and their preference orders (see above):
#
security.provider.1=sun.security.provider.Sun
security.provider.2=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.3=com.sun.net.ssl.internal.ssl.Provider
       :
---------------------------------------------------------------

※ この時に出来れば2番目に挿入して以下のリストを繰り上げて行く事が間違いが無くて望ましい。同じAPIが複数ある場合に別のプロバイダの物を使ってしまう事があるから。

以上でインストールは完了です。なお注意としてはWindows環境でJ2SDK(JDK)をインストールすると、JREと2重にインストールされる事があるので、最悪は両方の jre/lib 以下に設定をする必要がある事です。ちなみにJDKは指定場所にインストールされますが、JREは C:\Program Files\Java\j2re1.4.2_08 と言うようにインストールされてしまうようです。環境によって多少は異なるかもしれませんが参考まで。

また場合によってはJUnit(junit.jar)JavaMail(mail.jar/src.jar)のモジュールも要求されるかもしれません。その場合にはダウンロードしてインストールしましょう。

次に以下のコードを実行してみて「BouncyCastle Security Provider v1.29」と表示されればOKです。なおここでは全てBouncyCastleのバージョンはVer1.29を前提としてファイル名やメッセージを示していますが、BouncyCastleはバージョンアップも早いので最新の物を使いましょう。

---------------------------------------------------------------
import java.security.Provider;
import java.security.Security;
public class BcTest {
 public static void main( String[] args ) throws Exception {

  Provider provider = Security.getProvider ( "BC" );
  System.out.println ( provider.getInfo() );
 }
}

---------------------------------------------------------------

"BC"がBouncyCastleを示すプロバイダ文字列となります。さぁこれであなたもオープンソース&フリーソフトの暗号ライブラリBouncyCastleを使う準備が出来ました。暗号の世界を楽しみましょう!

[2006-12-01追記]
む?あるお助け掲示板からリンクが。そうか確かにプログラムの一部だけだとわかり難いですね。と言う事で実行ソース例を修正しました。赤字の部分が今回追加した部分です。
2005-07-19 18:17:02 - miyachi - 4 コメント - コメントを書く - [公開活動]

2005-06-14

正規表現ライブラリ公開  [by toka]

正規表現ライブラリを公開しました。4年ほど前に作成したものなのですが、いつか公開しようと思いつつも、公開に耐えられるだけのソースコードに書き直す時間がとれず、ずっと先送りになってしまっていました。しかし、このままではきっと永久に公開できないに違いないので、まだ拙い部分も残ってはいますが、覚悟を決めて公開してしまいます。

オープンソース活動」のページからダウンロードのリンクを張ってありますので、まずはそちらをご覧ください。

正規表現ライブラリとしては、比較的オーソドックスな実装をしていますので、アルゴリズムの学習にも向いているのではないかと思います。(という考えもあって、あえて、ソースコードのみの公開にしました :-)

何かコメントがあれば、本エントリのコメント欄に投稿ください。
というわけでEX岡による初めてのエントリでした。
2005-06-14 12:55:51 - toka - 4 コメント - コメントを書く - [公開活動]