一人 PyOpenSSL 勉強会

目標はCA証明書の作成だけ。

CA 証明書は作成できました。

PyOpenSSL は CRL が作れない予感。

まとめたら、ソース丸ごと載せます。

patch とか

Index of /darwinsource/10.5/pyOpenSSL-2
http://www.opensource.apple.com/darwinsource/10.5/pyOpenSSL-2/

Mac OS X 10.5 にはデフォルトで pyOpenSSL が入っているのですが、これは素敵な Patch が当たっていません。

ということで当てたものを MacPorts で公開したいなぁ。

当てると crypto.CRL() が出来るようになります:-)

In [2]: import OpenSSL

In [3]: OpenSSL.crypto.CRL()
Out[3]: <CRL object at 0x520c0>

patch 当てた後のサンプルをコピペ。

crl = crypto.CRL()
crl.make_revoked("100928084218Z", "1")
crl.make_revoked("100928084218Z", "2")
print crypto.dump_crl(crl, cacert, capkey)

p12 = crypto.PKCS12()
p12.set_privatekey(pkey)
p12.set_certificate(cert)
open("test.p12", "w").write(crypto.dump_pkcs12(p12, "my_passphrase"))

p12 = crypto.PKCS12()
p12.set_privatekey(pkey)
p12.set_certificate(cert)
open("test.p12", "w").write(crypto.dump_pkcs12(p12, "my_passphrase", "/my/path/to/cacert.pem"))

ruby

あー Ruby は証明書周り充実しまくってる。

Rubyリファレンスマニュアル - openssl
http://www.ruby-lang.org/ja/man/?cmd=view;name=openssl

pyOpenSSL も書き換えていきたいなぁ、やはりここはC拡張を id:tasukuchan から学ぶべきなのか。

index.txt の扱い

pyOpenSSL は openssl ca で生成される index.txt が一切扱えない、っぽい。