VSIX パッケージ用の Sign CLI リファレンス
sign
- ディスク上の PFX、CER、または P7B 証明書を使用して、または Windows Certificate Manager (WCM)、暗号化サービス プロバイダー (CSP)、または Azure Key Vault からファイルとコンテナーに署名するために使用される Dotnet ツール。
重要
Sign CLI では、有効なフィンガープリント アルゴリズムとして SHA-256
、 SHA-384
、および SHA-512
のみがサポートされています。 PowerShell で Get-FileHash -Algorithm SHA256 <path to .cer file> | Format-Table -AutoSize
を使用してフィンガープリントを取得できます。
重要
Sign CLI では RSA
アルゴリズムのみがサポートされるため、 ECDSA
を使用して指紋を生成すると、インストール中に署名の検証が失敗します。 これによりインストールはブロックされませんが、インストール中に VSIX インストーラー ウィンドウに "無効な署名" の警告が表示されます。
構文
sign code certificate-store [<PATH(s)>]
[-cf|--certificate-file <PATH>]
[-p|--password <PASSWORD>]
[-cfp|--certificate-fingerprint <SHA>]
[-csp|--crypto-service-provider <CSPNAME>]
[-k|--key-container <HASHALGORITHM>]
[-km|--use-machine-key-container]
[-d|--description <DESCRIPTION>]
[-u|--descriptionUrl <URL>]
[-fd|--file-digest <DIGEST>]
[-t|--timestamp-url <URL>]
[-tr|--timestamp-rfc3161 <URL>]
[-td|--timestamp-digest <DIGEST>]
[-o|--output <PATH>]
[-b|--base-directory <wORKINGDIRECTORY>]
[-f|--force]
[-m|--max-concurrency <MAXCONCURRENCY>]
[-fl|--filelist <FILELISTPATH>]
sign code certificate-store -h|--help
説明
Sign CLI
は、証明書とプライベートを使用してファイルとコンテナーに再帰的に署名する Dotnet ツールです。 証明書と秘密キーは、ファイル (PFX、P7B、CER) から取得することも、 SHA-256
、 SHA-384
、または SHA-512
フィンガープリントを提供することで、証明書ストアにインストールされた証明書から取得することもできます。 USB キーには、製造元によって実装され、証明書ストアからアクセスされる Cryptographic Service Provider (CSP) を使用してアクセスできます。
インストール
を使用して Sign CLI をグローバルにインストールする dotnet tool install sign --prerelease --global
Sign CLI のオフライン インストール
分離された環境では、Sign CLI NuGet パッケージをダウンロードし、次を使用してインストールできます。
dotnet tool install --global --add-source <path-to-folder> <tool-name> --version <version>
引数
VSIX-paths(s)
署名する VSIX パッケージへのパスを指定します。
[オプション]
-cf|--certificate-file <PATH>
証明書と秘密キーを含む PFX、P7B、または CER ファイル。
-p|--password <PASSWORD>
証明書ファイルの省略可能なパスワード。
-cfp|--certificate-fingerprint <SHA>
署名する前に証明書を識別するために使用される SHA-256、SHA-384、または SHA-512 フィンガープリント。
-csp|--crypto-service-provider <CSP NAME>
秘密キーを含む暗号化サービス プロバイダー。
Note
使用可能なすべての CSP を表示するには、
certutil -csplist
を実行します。従来の CSP は "プロバイダーの種類" を指定し、CNG プロバイダーは通常、その名前に "キー ストレージ プロバイダー" を持っています。certutil -csptest "<provider name>"
は、特定のプロバイダーに関する詳細情報を提供します。-k|--key-container <CONTAINER NAME>]
秘密キー コンテナー名。
Note
certutil -csp <Provider Name> -key
を実行すると、CSP 内に格納されているすべてのキーを検索できます。-km|--use-machine-key-container]
既定のユーザー レベル のコンテナーではなく、マシン レベルの秘密キー コンテナーを使用します。
-d|--description <DESCRIPTION>
署名証明書の説明。
-u|--descriptionUrl <URL>
署名証明書の説明 URL。
-fd | --file-digest <DIGEST>
ファイルをハッシュするダイジェスト アルゴリズム。
-t|--timestamp-url <URL>
RFC 3161 タイムスタンプ サーバー URL。 [既定値: http://timestamp.acs.microsoft.com/]
-tr | --timestamp-rfc3161 <URL>
RFC 3161 タイムスタンプ サーバーの URL を指定します。
-td|--timestamp-digest <DIGEST>
rfc 3161 タイムスタンプ サーバーで使用されるダイジェスト アルゴリズムを要求するために、
-tr
スイッチと共に使用されます。-o|--output <PATH>
複数のファイルが指定されている場合の出力ファイルまたはフォルダー。 省略すると、入力が上書きされます。
-b|--base-directory <PATH>
作業ディレクトリをオーバーライドするファイルのベース ディレクトリ。
--f|--force
署名が存在する場合は上書きします。
-m|--max-concurrency <MAXCONCURRENCY>
最大コンカレンシー (既定値は 4)
-fl | --filelist <PATH>
署名するファイルまたはコンテナー内の署名から除外するファイルのパスを含むファイルへのパス。
-?|-h|--help
コマンドの使用方法の説明を出力します。
例
user 証明書ストアにインポートされた証明書でcontoso.vsixに署名します。
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -d "Constoso VSIX Signature" -u "http://www.contoso.com"
SHA-512 フィンガープリント使用して証明書 cert.pfx (パスワードで保護されていない) でcontoso.vsix に署名します。
sign code certificate-store contoso.vsix -cfp A87A6F...894559B981 -cfpa sha512 -cf D:\certificates\cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"
証明書 cert.pfxでcontoso.vsixに署名します (パスワードが保護されています)。
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -cf cert.pfx -p <password> -d "Constoso VSIX Signature" -u "http://www.contoso.com"
複数の VSIX パッケージに署名する - contoso.vsix証明書cert.pfx (パスワードで保護されていない) で指定されたディレクトリ内のすべての .vsix ファイルをします。
sign code certificate-store *.vsix -cfp 24D589...FB9523B36E -cf cert.pfx -d "Constoso VSIX Signature" -u "http://www.contoso.com"
セキュリティで保護された USB ドライブ 保存されている証明書を使用して contoso.vsix に署名します。
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "VsixSigning 0B2D249223B36D00A7DF07FB95E24D58" -d "Constoso VSIX Signature" -u "http://www.contoso.com"
セキュリティで保護された USB ドライブに格納され、machine 証明書ストア (-km オプション) からアクセスされる証明書でcontoso.vsixに署名します。
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "VsixSigning 0B2D249223B36D00A7DF07FB95E24D58" -km -d "Constoso VSIX Signature" -u "http://www.contoso.com"
Note
-k
オプションが指定されていない場合、ツールは、指定された CSP 内のすべてのコンテナーで、一致する SHA フィンガープリント証明書をチェックします。contoso.vsix署名済み VSIX のファイル ダイジェスト アルゴリズム (-fd)、タイムスタンプ サーバー (-t)、およびカスタム出力パス (-o) を指定して、セキュリティで保護された USB ドライブに格納されている証明書を使用して署名します。
sign code certificate-store contoso.vsix -cfp 24D589...FB9523B36E -csp "Microsoft Software Key Storage Provider" -k "VsixSigning 0B2D249223B36D00A7DF07FB95E24D58" -d "Constoso VSIX Signature" -u "http://www.contoso.com" -t "http://timestamp.acs.microsoft.com/" -fd sha256 -o "ContosoSigned.vsix"