★暗黒署名と暗黒認証CABの作成方★
-------------------------------------------------------------------------
@概要
*署名と秘密キーの作成
*デバイスに組み込む認証用のValueの取り出しと
それを組み込むCABの作成
*ファイルに署名をする
*デバイスにCABを使って認証システムを組み込む
-------------------------------------------------------------------------
@必要なプログラム及びファイル(探せ!)
cabwiz.ddf
Cabwiz.exe
Makecab.exe
makecert.exe
openssl.exe
pvk2pfx.exe
signcode.exe
signer.dll
signtool.exe
A:makeCert.exeを使いCertificateと秘密キーを作成する。
Dark_Sign.Cer =署名(Certificate)
Dark_Sign.pvk=秘密キー
オプションでタイムスタンプとパスワードが組み込める
例:
makecert -r -sv Dark_Sign.pvk -n
"CN=Darkl_Sign" -b 01/01/2000 -e 01/01/2099
Dark_Sign.cer
B;pvk2pfx.exeを使用して***.pfxを作成する。
***.pfxは signtool.exeを使用して署名する際の認証Valueを作る際に必要。
作成されたファイルはDark_sign.pfx
例;
pvk2pfx.exe -pvk Dark_Sign.pvk -spc
Dark_Sign.cer -pfx Dark_Sign.pfx
C:opensslを使い証明から認証Valueを取り出す。
Dark_Sign_base64.txt と Dark_Sign_sha1.txt が作成される。
例;
openssl sha1 Dark_Sign.cer >
Dark_Sign_sha1.txt
openssl base64 -in Dark_Sign.cer >
Dark_Sign_base64.txt
D;_setup.xmlをエディターで作成する。
これはデバイスにオリジナルの署名の認証に必要なProvisioningdoc.xmlを
組み込む為である。通常_setup.xmlはCAB形式を利用して組み込む。
C番で作成したDark_Sign_sha1.txt と Dark_Sign_base64.txt を開き下記の書式で_setup.xmlを作成
<?xml version="1.0" encoding="utf-8"
?>
<wap-provisioningdoc>
<characteristic type="CertificateStore">
<characteristic type="Privileged
Execution Trust Authorities">
<characteristic
type="[cert_sha1]">
<parm name="EncodedCertificate"
value="[cert_base64]" />
</characteristic>
</characteristic>
</characteristic>
<characteristic type="CertificateStore">
<characteristic type="SPC">
<characteristic
type="[cert_sha1]">
<parm name="EncodedCertificate"
value="[cert_base64]" />
上記の
[cert_sha1]の部分をDark_Sign_sha1.txtから取り出して書き換える。
[cert_base64]の部分をDark_Sign_base64.txtから取り出して書き代える。
E;makecab.exe を使い認証CABを作成する。
例;
makecab.exe _setup.xml
Dark_sign_cert.cab
@Signcode或いはSgintool.exeでサインをする。
Asukaly yours!---as Dark as I can!