[VS]ソフトウェア発行元証明書の作成と署名

作成物に証明書を署名するための作成方法と署名方法をメモ。

自己署名証明書とか、オレオレ証明書とかいわれるものでVSTOのインストールにClickOnceを使用する場合、必要なもの。
使用するツールはWindowsSDKに含まれている。

  • 作成方法
    
    rem 1.====
    rem CA:Certificate Authority:認証局証明書
    rem  会社名 : MoonWing
    rem  組織名 : MoonWing Authority Root CA
    rem  県  名 : Tokyo
    rem  国  名 : JP
    rem 有効期限: 2012.12.31
    "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\makecert" -r -n "C=JP, S=Tokyo, OU=MoonWing Authority Root CA, O=MoonWing" -e 12/31/2012 -a sha1 -cy authority -sv moonwingCA.pvk moonwingCA.cer
    rem 秘密キーのパスワードの作成:Subject Key:rootCA
    rem 秘密キーのパスワードの入力:Subject Key:rootCA
    
    rem 2.====
    rem EE:End Entity:署名用証明書
    rem コモン名: MoonWing
    rem  会社名 : MoonWing
    rem  組織名 : MoonWing Development
    rem  県  名 : Tokyo
    rem  国  名 : JP
    rem 有効期限: 2012.12.31
    "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\makecert" -n "CN=MoonWing, C=JP, S=Tokyo, O=MoonWing, OU=MoonWing Development" -e 12/31/2012 -sv moonwing.pvk -ic moonwingCA.cer -iv moonwingCA.pvk -nscp -cy end moonwing.cer
    rem 秘密キーのパスワードの作成:Subject Key:endEntity
    rem 秘密キーのパスワードの入力:Subject Key:endEntity
    rem 秘密キーのパスワードの入力:Issuer Signature:rootCA
    
    rem 3.====
    rem SPC:Software Publisher's Certificate:ソフトウェア発行元証明書
    "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\Cert2SPC" moonwing.cer moonwingCA.cer moonwing.spc
    
    rem 4.====
    rem PFX:Personal Information Exchange:PKCS#12
    rem  -pi(pvkpassword):endEntity
    rem  -po(pfxpassword):SPC
    "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\pvk2pfx" -pvk moonwing.pvk -pi endEntity -spc moonwing.spc -pfx moonwing.pfx -po SPC
    
  • 署名方法
    
    rem 5.====
    rem target.exeへ署名
    rem  -t(time stamp server):http://timestamp.verisign.com/scripts/timstamp.dll
    rem  -p(pfxpassword):SPC
    "%ProgramFiles%\Microsoft SDKs\Windows\v7.1\Bin\signtool" sign /f moonwing.pfx /a /t http://timestamp.verisign.com/scripts/timstamp.dll /p SPC target.exe
    

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です