Skip to main content

署名を管理する

このセクションでは、SMCTL で署名を管理するために使用するコマンドについてカバーします。これらのコマンドは、署名、署名の検証、および署名の削除です。フラグを使用してコマンドのパラメータを指定します。

前提条件

  • すべての署名に使用するツールについて、OSのパス変数に実行形式が存在する必要があります。

  • jarsigner、apksigner、jSign では、PKCS11 の設定ファイルは必須です。

  • 署名に使用する鍵ペアのエイリアスか証明書のフィンガープリントを指定してください。

構成

署名に使用されるデフォルトのツールは、オペレーティングシステムに基づきます。例えば:

  • 署名のアルゴリズムは、<--sigalg string> フラグで設定できます(署名に使われるツールが提供するオプションに基づき適用されます)。

  • ダイジェストのアルゴリズムは、<--digalg string> フラグで設定できます(署名に使われるツールが提供するオプションに基づき適用されます)。

  • 特定の種類のファイルに署名する必要がある場合は、<--ツールストリング> フラグを使用します (例: --ツール apksigner は *.apk ファイルにのみ署名します)。

  • 特定の種類のファイルに署名が必要な場合は <--ツールストリング>フラグを使用します (例:--ツール apksigner は *.apk ファイルにのみ署名します)。

  • APK Signerでサポート対象 SDKの最低バージョンは18です。

署名

署名コマンドは、以下のように始まります。

smctl signature <keypair alias>

or

smctl sign <keypair alias >

フラグ

署名コマンドは、これらのフラグをサポートしています。

1. 署名のコマンドは、以下のように始まります。

ショートカット

フラグ

説明

--all-metadata

すべての署名のメタデータをキャプチャします。デフォルトでは、すべてのメタデータをキャプチャします。

--certificate string

署名に使用する証明書のパス。

形式:

--certificate="<value>"

--checksum-after-signing

署名のメタデータをキャプチャ - 署名後のチェックサム。デフォルトでキャプチャするには空白のままにします。

--checksum-before-signing

署名のメタデータをキャプチャ - 署名されていないファイルの署名前のチェックサム。デフォルトでは、キャプチャは空白のままです。

--config-file string

PKCS11設定ファイルのパス。

形式:

--config-file="<value>"

--deep

Sign all internal frameworks and plugins (This flag only applies to Apple codesign) (default true)

注記

This flag only applies to Apple codesign commands.

-d

--digalg string

Specify the digest algorithm to use for signing (default based on the tool used for signing).

Format:

--digalg="<value>"

--digest-algorithm

Capture the digest algorithm in the signature metadata. Leave blank to capture by default.

--digicert-ctk-app-path string

Provide the path to DigiCert SSM Signing Clients.app.

注記

This flag only applies to Apple codesign and productsign commands.

--digicert-ctk-cli-path string

Provide the path to DigiCert SSM Signing Clients.app's CLI.

注記

This flag only applies to Apple codesign and productsign commands.

--dryrun

Verify if the file can be signed without actually signing it (This flag only applies to Apple codesign)

--entitlements-file-path

Specify the entitlements file path.

注記

This flag only applies to Apple codesign commands.

--exit-non-zero-on-fail

Returns a non-zero status if any files fail to be signed during bulk signing.

--failfast

Stops bulk signing immediately upon encountering the first file that cannot be signed.

--file-location

署名キャプチャのメタデータ - ファイルの場所。デフォルトでキャプチャするには空白のままにします。

--file-name

署名キャプチャのメタデータ - ファイル名。デフォルトでキャプチャするには空白のままにします。

-f

--fingerprint string

署名に使用する証明書のフィンガープリント。

形式:

--fingerprint="<value>"

注記

For Apple codesign and productsign, after the key is added to the token.

--force

Replace existing signatures (default value 'true').

注記

This flag only applies to Apple codesign commands.

--identity string

Specify the apple developer or installer certificate that you will use to sign with. This information can be found using security export-smartcard.

注記

This flag only applies to Apple codesign commands, after the key is added to the token.

-i

--input string

入力ファイルまたはフォルダのパス。フォルダを指定した場合は、そのフォルダ内のすべてのファイルに署名されます。

形式:

--input="<value>"

--keychain-path string

Provide the path to Keychain (This flag only applies to Apple productsign)

-k

--keypair-alias string

署名に使用する鍵ペアのエイリアス。

形式:

--keypair-alias="<value>"

--output-file

Signed package file (should be different than input file)

注記

This flag is compulsory for Apple productsign.

--openssl-pkcs11-engine string

Provide the path to the OpenSSL PKCS11 engine.

注記

This flag only applies to osslsigncode.

--pkcs11-module string

Provide the absolute path to the DigiCert​​®​​ Software Trust Manager PKCS11 library.

--preserve-metadata

Preserve the metadata.

注記

This flag only applies to Apple codesign commands.

-s

--sigalg string

使用する署名アルゴリズム(デフォルトは、署名に使用したツールに基づく)。

形式:

--sigalg="<value>"

--signing-tool

署名キャプチャのメタデータ - 署名ツール。デフォルトでキャプチャするには空白のままにします。

--timestamp

タイムスタンプの有効・無効を設定します。デフォルトは有効です。

--timestamp-flag

署名のメタデータを取得する。(タイムスタンプが実行されたかどうか)デフォルトでキャプチャするには空白のままにします。

-t

--tool string

署名に使用するツール(空白のままだと拡張子で署名されます)。

形式:

--tool="<value>"

--tsa-url

署名のメタデータをキャプチャ - TSA URL (タイムスタンプURLを使用します)。デフォルトでキャプチャするには空白のままにします。

-v

--verbose

署名の冗長ロギング。

-h

--help

署名に関するヘルプ。


サブコマンド

署名コマンドは、これらサブコマンドをサポートしています。

smctl signature <subcommand>

or

smctl sign <subcommand>

2. 署名の管理のサブコマンド

サブコマンド

説明

remove

署名を削除する

verify

署名を検証する

sign-hash

Sign hashes.

verify-hash

Verify hashes.

in-toto

Sign and verify JSON SBOMs using in-toto functionality.