おそらく、ポーランドの企業Certumがオープンソース開発者に提供しているサービスについて読んだ人もいるかもしれません。 この記事のコードに署名するための安価な証明書です(そうでない場合は読んでください)。
残念なことに、世界のいくつかのものは、時間の経過とともに悪化または高価になります(またはその両方)。 無料のCertumサービスは有料のものになりました(証明書の費用は14.00ユーロから、今年2月から28.00ユーロになりました)。さらに、今年からキーペアの生成手順が変更されました 。 それが私が書きたいことです。
私は長い間(2010年以降)Certum証明書を使用してアプリケーションに署名していましたが、今年は何らかの理由で(以前の証明書を更新するのではなく)新しい証明書が必要でした。 トリックを予想せずに、PayPalで14ユーロを支払い、アンケートに記入し、ドキュメントのスキャンを送信しました(今回はもう少し抜け目がありませんでしたが、すべてが最終的に落ち着きました)。 ( Chrome経由 )。 キーペアを生成する要求がないという事実に、私はすぐに混乱しました。 そして、もちろん、私に与えられたキーには秘密キーが含まれていませんでした。
私はすぐに告白します、私は情報セキュリティ技術とは程遠いです。 以前は、手順全体がスムーズに進み、.pfx証明書を取得しても問題は発生しませんでした(以前の状態を正確に思い出すことはできませんが)。 サポートサービスに連絡した後、証明書のインストール/作成はInternet Explorerでのみ実行する必要があり、標準のWindowsサブシステムを介してスマートカードが必ず必要であることが判明しました(スマートカード要求の標準ダイアログが表示されます)。
それが数字です! この瞬間まで、私は個人的にスマートカードに出くわしたことはありませんでした(会社に入るのに使われたカードは数えません)。 「Google」は、不明瞭な略語でたくさんの記事をくれました。 正直なところ、私は本当に理解したくありませんでしたが、少し。 最初は、仮想スマートカード、さらにはMicrosoftからの「スパーク」があるように見えましたが、このためにはコンピューターで(BIOSで)TPMを有効にする必要があります。 BIOSTARマザーボードにこのような設定は表示されませんでした。おそらく、セキュアブートがオンになっていないためです(ただし、すべてのデータが失われないようにするための実験はしませんでした。私は「動く-触らないで!」というルールの支持者です。 サードパーティからのソリューションの検索も失敗しました。作成者がWindows 7で動作するはずだったと言ったこと(新しいものは見つかりませんでした)は、Windows 10で動作することを拒否しました。
最後に、 PIVKeyからこのようなUSBトークンを購入することで問題を解決しました (ちなみに、費用は9.52ドルです。Amazonの倉庫から使用しました)。
私はこのトークンが好きでした。彼らが言うように、それはハーフキックで動作し(メーカーのウェブサイトからミニドライバーと管理ユーティリティをインストールした後)、Certumウェブサイトのキー生成手順で完全に動作しました! ところで、このトークンには24 Kバイトの秘密情報(秘密鍵と証明書)を保存するための30スロットと、6桁のPINコードがあります。
ただし、秘密鍵はエクスポートできないように記述されているため(明らかに正しい)、したがって、署名用の鍵を生成するには、標準のWindows手順を使用する必要があります。
- Certumから受け取った公開キーを使用して証明書をインストールする
- USBポートにトークンを挿入します
- 次のコマンドを実行します。certutil -exportPFX -p [ your_certificate_password ] my "[ serial_certificate_number ]" [ file_name ] .pfx
- トークンPINを入力します(工場出荷時のデフォルトは「000000」。メーカーから提供されたユーティリティを変更できます)
その後、受け取った証明書を使用して、Visual Studio IDEまたはコマンドラインユーティリティ(signtool.exeなど)を介してプログラムに署名できます。 はい、USBトークンも毎回必要です。
PSおそらく、情報セキュリティの専門家はこのテキストを読んでいる間、私の素朴さに微笑むでしょうが、私の投稿は彼らのためではありません。 私は人生を少し楽にして、オープンソースプログラマーの時間を節約したいだけです:)