OSXのcodesignはできるが…

Comodoから来たp7sとブラウザの秘密鍵をp12で纏める方法が判らない.あまりにも判らないので,昨日の神保町でOpenSSLの解説書を買ってきた.

OpenSSL―暗号・PKI・SSL/TLSライブラリの詳細―

OpenSSL―暗号・PKI・SSL/TLSライブラリの詳細―

しかし読んでも,何かがひらめくということは無かった.暗号分野の知識は手薄だったりするので,買って読んだことを後悔はしていない.
後悔はしていないが,判らない.


少し退いて,OSX上でコード証明書を用いた署名ができることをチェック.
XCodeでは,キーチェーンアクセスに登録したコード証明書がプロパティで選べるようになる.なんて簡単なんだ….
ただ,きちんと署名されているのか判りづらいので,コマンドラインで署名してみる.

$ codesign -v -f -o kill -s "Monami software, LP." Documents/名称未設定/build/Debug/名称未設定.app

などすると,

$ codesign -v -f -o kill -s "Monami software, LP." Documents/名称未設定/build/Debug/名称未設定.app
Documents/名称未設定/build/Debug/名称未設定.app: replacing existing signature
Documents/名称未設定/build/Debug/名称未設定.app: signed bundle with Mach-O thin (i386) [jp.pizzafactory.foo]

うん.なんか上手く行っている風味.

$ codesign -dvvv Documents/名称未設定/build/Debug/名称未設定.appp
Executable=/Users/monaka/Documents/名称未設定/build/Debug/名称未設定.app/Contents/MacOS/名称未設定
Identifier=jp.pizzafactory.foo
Format=bundle with Mach-O thin (i386)
CodeDirectory v=20001 size=224 flags=0x200(kill) hashes=5+3 location=embedded
CDHash=f081fb6f1e2b04b2d0766338201fee2f85e0eb93
Signature size=3065
Authority=Monami software, LP.
Authority=UTN-USERFirst-Object
Signed Time=2009/02/09 2:28:28
Info.plist entries=10
Sealed Resources rules=4 files=2
Internal requirements count=0 size=12

さて,あとは秘密鍵とp7s証明書をPKCS#12で包めればよいだけのはずなのだがなぁ….

発行処理をSafariで行ったのは過ちだったような気がしてきた.
Comodoで買うならFirefoxがお奨めとかいうブログエントリを見つけ,それを見るとPKCS#12でのエクスポートが可能っぽい.
しかし,Safariは,秘密鍵PKCS#12でエクスポートされる.また,秘密鍵とComodoから取得できるPKCS#7証明書とは,キーチェーンアクセスの中では,別のものとして管理される.
うーむ.煮詰まりまくり.

jarsignerできた.

こねくり回しWinXP + IE7 まで引きずり出した挙げ句,jarsigner が通せた.あまりに複雑なので,半分頭が寝た状態で説明できる自信と気力が無い.
たぶん,簡単な方法があるはずなので,そのうち整理する…かも.