- java.lang.Object
-
- jdk.security.jarsigner.JarSigner.Builder
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 Builder(KeyStore.PrivateKeyEntry entry)KeyStore.PrivateKeyEntryオブジェクトを使用してJarSigner.Builderオブジェクトを作成します。Builder(PrivateKey privateKey, CertPath certPath)秘密キーと証明書パスを使用してJarSigner.Builderオブジェクトを作成します。
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 JarSignerbuild()setterメソッドで設定されたパラメータからJarSignerオブジェクトを構築します。JarSigner.BuilderdigestAlgorithm(String algorithm)ダイジェストアルゴリズムを設定します。JarSigner.BuilderdigestAlgorithm(String algorithm, Provider provider)指定されたプロバイダからダイジェスト・アルゴリズムを設定します。JarSigner.BuildereventHandler(BiConsumer<String,String> handler)署名プロセス中にJarEntryを追加、署名または更新するときにトリガーされるenイベント・ハンドラを設定します。static StringgetDefaultDigestAlgorithm()デフォルトのダイジェスト・アルゴリズムを取得します。static StringgetDefaultSignatureAlgorithm(PrivateKey key)秘密キーのデフォルトの署名アルゴリズムを取得します。JarSigner.BuildersetProperty(String key, String value)指定されたキーによって示される追加の実装固有のプロパティを設定します。JarSigner.BuildersignatureAlgorithm(String algorithm)署名アルゴリズムを設定します。JarSigner.BuildersignatureAlgorithm(String algorithm, Provider provider)指定されたプロバイダから署名アルゴリズムを設定します。JarSigner.BuildersignerName(String name)署名者名を設定します。JarSigner.Buildertsa(URI uri)Time Stamping Authority (TSA)のURIを設定します。
-
-
-
コンストラクタの詳細
-
Builder
public Builder(KeyStore.PrivateKeyEntry entry)
KeyStore.PrivateKeyEntryオブジェクトを使用してJarSigner.Builderオブジェクトを作成します。- パラメータ:
entry- 署名者のKeyStore.PrivateKeyEntry。
-
Builder
public Builder(PrivateKey privateKey, CertPath certPath)
秘密キーと証明書パスを使用してJarSigner.Builderオブジェクトを作成します。- パラメータ:
privateKey- 署名者の秘密キー。certPath- 署名者の証明書パス。- 例外:
IllegalArgumentException-certPathが空の場合、またはprivateKeyアルゴリズムがエンド・エンティティ証明書のPublicKeyのアルゴリズム(certPathの最初の証明書)と一致しない場合。
-
-
メソッドの詳細
-
digestAlgorithm
public JarSigner.Builder digestAlgorithm(String algorithm) throws NoSuchAlgorithmException
ダイジェストアルゴリズムを設定します。 ダイジェストアルゴリズムが指定されていない場合は、getDefaultDigestAlgorithm()によって返されるデフォルトのアルゴリズムが使用されます。- パラメータ:
algorithm- アルゴリズムの標準名。 標準アルゴリズム名の詳細は、Java Cryptography Architecture標準アルゴリズム名のドキュメントのMessageDigestに関する項を参照してください。- 戻り値:
JarSigner.Builder自体。- 例外:
NoSuchAlgorithmException-algorithmが使用できない場合。
-
digestAlgorithm
public JarSigner.Builder digestAlgorithm(String algorithm, Provider provider) throws NoSuchAlgorithmException
指定されたプロバイダからダイジェスト・アルゴリズムを設定します。 ダイジェストアルゴリズムが指定されていない場合は、getDefaultDigestAlgorithm()によって返されるデフォルトのアルゴリズムが使用されます。- パラメータ:
algorithm- アルゴリズムの標準名。 標準アルゴリズム名の詳細は、Java Cryptography Architecture標準アルゴリズム名のドキュメントのMessageDigestに関する項を参照してください。provider- プロバイダ- 戻り値:
JarSigner.Builder自体。- 例外:
NoSuchAlgorithmException- 指定されたプロバイダでalgorithmを使用できない場合。
-
signatureAlgorithm
public JarSigner.Builder signatureAlgorithm(String algorithm) throws NoSuchAlgorithmException
署名アルゴリズムを設定します。 署名アルゴリズムが指定されていない場合は、秘密キーのgetDefaultSignatureAlgorithm(java.security.PrivateKey)によって返されるデフォルトの署名アルゴリズムが使用されます。- パラメータ:
algorithm- アルゴリズムの標準名。 標準アルゴリズム名の詳細は、Java Cryptography Architecture標準アルゴリズム名のドキュメントのSignatureに関する項を参照してください。- 戻り値:
JarSigner.Builder自体。- 例外:
NoSuchAlgorithmException-algorithmが使用できない場合。IllegalArgumentException-algorithmが署名者の秘密キーのアルゴリズムと互換性がない場合。
-
signatureAlgorithm
public JarSigner.Builder signatureAlgorithm(String algorithm, Provider provider) throws NoSuchAlgorithmException
指定されたプロバイダから署名アルゴリズムを設定します。 署名アルゴリズムが指定されていない場合は、秘密キーのgetDefaultSignatureAlgorithm(java.security.PrivateKey)によって返されるデフォルトの署名アルゴリズムが使用されます。- パラメータ:
algorithm- アルゴリズムの標準名。 標準アルゴリズム名の詳細は、Java Cryptography Architecture標準アルゴリズム名のドキュメントのSignatureに関する項を参照してください。provider- プロバイダ- 戻り値:
JarSigner.Builder自体。- 例外:
NoSuchAlgorithmException- 指定されたプロバイダでalgorithmを使用できない場合。IllegalArgumentException-algorithmが署名者の秘密キーのアルゴリズムと互換性がない場合。
-
tsa
public JarSigner.Builder tsa(URI uri)
Time Stamping Authority (TSA)のURIを設定します。- パラメータ:
uri- URI- 戻り値:
JarSigner.Builder自体。
-
signerName
public JarSigner.Builder signerName(String name)
署名者名を設定します。 この名前は、署名ファイルのベース名として使用されます。 署名ファイル名では、すべての小文字が大文字に変換されます。 署名者名が指定されていない場合は、文字列「SIGNER」が使用されます。- パラメータ:
name- 署名者名。- 戻り値:
JarSigner.Builder自体。- 例外:
IllegalArgumentException-nameが空であるか、サイズが8より大きい場合、またはセット「a-zA-Z0-9_- 」以外の文字が含まれている場合。
-
eventHandler
public JarSigner.Builder eventHandler(BiConsumer<String,String> handler)
署名プロセス中にJarEntryを追加、署名または更新するときにトリガーされるenイベント・ハンドラを設定します。ハンドラは、署名の進行状況を表示するために使用できます。 ハンドラの第1引数は「追加」、「署名」、または「更新」であり、第2引数は処理中の
JarEntryの名前です。- パラメータ:
handler- イベント・ハンドラ。- 戻り値:
JarSigner.Builder自体。
-
setProperty
public JarSigner.Builder setProperty(String key, String value)
指定されたキーによって示される追加の実装固有のプロパティを設定します。- 実装上のノート:
- この実装では、次のプロパティがサポートされます。
- "tsaDigestAlg": タイムスタンプ・リクエストのダイジェスト・データのアルゴリズム。 デフォルト値は、
getDefaultDigestAlgorithm()の結果と同じです。 - "tsaPolicyId": Timestamping AuthorityのTSAPolicyID。 デフォルト値はありません。
- "internalsf": "true"の場合SFファイルは署名ブロック内に含まれ、それ以外の場合は"false"です。 デフォルトの"false"。
- "sectionsonly": "true"の場合SFファイルにはマニフェストの各セクションのハッシュ値のみが含まれ、マニフェスト全体の場合はハッシュ値が含まれ、それ以外の場合は「false」が含まれます。 デフォルトの"false"。
- "tsaDigestAlg": タイムスタンプ・リクエストのダイジェスト・データのアルゴリズム。 デフォルト値は、
- パラメータ:
key- プロパティの名前。value- プロパティの値。- 戻り値:
JarSigner.Builder自体。- 例外:
UnsupportedOperationException- この実装でキーがサポートされていない場合。IllegalArgumentException- 値がこのキーの有効な値として受け入れられない場合。
-
getDefaultDigestAlgorithm
public static String getDefaultDigestAlgorithm()
デフォルトのダイジェスト・アルゴリズムを取得します。- 実装上のノート:
- この実装は"SHA-256"を返します。 値は将来変更される可能性があります。
- 戻り値:
- デフォルトのダイジェスト・アルゴリズム。
-
getDefaultSignatureAlgorithm
public static String getDefaultSignatureAlgorithm(PrivateKey key)
秘密キーのデフォルトの署名アルゴリズムを取得します。 たとえば、2048ビットRSAキーの場合はSHA256withRSA、384ビットECキーの場合はSHA384withECDSAです。- 実装上のノート:
- この実装では、NIST SP 800-57 Part 1-Rev.4の表2および3で定義されている同等の強みを使用します。 具体的には、鍵サイズが7680ビットより大きいDSAまたはRSA鍵、または鍵サイズが512ビット以上のEC鍵の場合、SHA-512が署名のハッシュ関数として使用されます。 DSAまたはRSA鍵の鍵サイズが3072ビットより大きい場合、またはEC鍵の鍵サイズが384ビット以上の場合は、SHA-384が使用されます。 それ以外の場合は、SHA-256が使用されます。 値は将来変更される可能性があります。
- パラメータ:
key- 秘密キー。- 戻り値:
- デフォルトの署名アルゴリズム。 デフォルトの署名アルゴリズムが見つからない場合はnullを返します。 この場合、
signatureAlgorithm(java.lang.String)をコールして署名アルゴリズムを指定する必要があります。 それ以外の場合、build()メソッドはIllegalArgumentExceptionをスローします。
-
build
public JarSigner build()
setterメソッドで設定されたパラメータからJarSignerオブジェクトを構築します。このメソッドは、この
Builderオブジェクトの内部状態を変更せず、複数回コールして複数のJarSignerオブジェクトを生成できます。 このメソッドがコールされた後、このBuilderでメソッドをコールしても、新しく構築されたJarSignerオブジェクトには影響しません。- 戻り値:
JarSignerオブジェクト。- 例外:
IllegalArgumentException- 署名アルゴリズムが設定されておらず、getDefaultSignatureAlgorithm(java.security.PrivateKey)メソッドを使用して秘密キーから導出できない場合。
-
-