かずきのBlog@hatena

日本マイクロソフトに勤めています。XAML + C#の組み合わせをメインに、たまにASP.NETやJavaなどの.NET系以外のことも書いています。掲載内容は個人の見解であり、所属する企業を代表するものではありません。

pfx を作って appx に署名するまで

いつも忘れてしまうのでメモ。

makecert -r -pe -n "CN=XXXX" -eku 1.3.6.1.5.5.7.3.3 -pe -sv my.pvk my.cer
pvk2pfx -pvk my.pvk -spc my.cer -pfx my.pfx
makeappx.exe pack /d .\dirpath /p appxpath.appx /l
signtool sign /fd SHA256 /a /f .\my.pfx .\appxpath.appx

もしくは makecert を使わずに pfx を作る方法としては以下のような方法があるみたい。

$thumbprint = (New-SelfSignedCertificate -Type Custom -Subject "CN=xxx" -KeyUsage DigitalSignature -FriendlyName xxx -CertStoreLocation "Cert:\LocalMachine\My").Thumbprint
$cert = "Cert:\LocalMachine\My\" + $thumbprint
$pwd = ConvertTo-SecureString -String 12345 -Force -AsPlainText 
Export-PfxCertificate -cert $cert -FilePath c:\my.pfx -Password $pwd

上記 PowerShell でパスワード 12345 の my.pfx が C ドライブ直下に作られる。 これは管理者権限で実行された PowerShell で実行が必要