モジュール java.base
パッケージ java.security

クラスSignatureSpi

java.lang.Object
java.security.SignatureSpi
直系の既知のサブクラス:
Signature

public abstract class SignatureSpi extends Object
Signatureクラスのサービス・プロバイダ・インタフェース (SPI)を定義します。これは、デジタル署名アルゴリズムの機能を提供するために使用されます。 デジタル署名は、認証やデジタル・データの整合性を保証するために使用されます。

特定の署名アルゴリズムの実装を提供する各暗号サービス・プロバイダは、このクラスのすべての抽象メソッドを実装する必要があります。

導入されたバージョン:
1.2
関連項目:
Signature
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    protected SecureRandom
    アプリケーション固有の乱数発生の元です。
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    サブクラスが呼び出すためのコンストラクタ。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    実装が複製可能な場合は複製を返します。
    protected abstract Object
    非推奨。 
    このメソッドは、このシグネチャ・エンジンで使用されるパラメータを返すためにプロバイダによってオーバーライドされます。
    protected abstract void
    engineInitSign​(PrivateKey privateKey)
    署名オブジェクトを、署名操作のために指定された非公開キーで初期化します。
    protected void
    engineInitSign​(PrivateKey privateKey, SecureRandom random)
    署名オブジェクトを、署名操作のために指定された非公開キーと乱数発生の元で初期化します。
    protected abstract void
    この署名オブジェクトを、検証操作のために指定された公開キーで初期化します。
    protected abstract void
    engineSetParameter​(String param, Object value)
    非推奨。
    engineSetParameterに置き換えられています。
    protected void
    このメソッドはプロバイダによってオーバーライドされ、署名エンジンを指定したパラメータ・セットで初期化します。
    protected abstract byte[]
    これまでに更新されたすべてのデータのうちの署名データを返します。
    protected int
    engineSign​(byte[] outbuf, int offset, int len)
    署名操作を終了し、結果として得られる署名バイトを、指定されたバッファoutbufoffsetから格納します。
    protected abstract void
    engineUpdate​(byte b)
    署名または検証されるデータを、指定されたバイトで更新します。
    protected abstract void
    engineUpdate​(byte[] b, int off, int len)
    署名または検証するデータを、指定されたバイトの配列を使って、指定されたオフセットから更新します。
    protected void
    署名または検証するデータを、指定されたByteBufferを使用して更新します。
    protected abstract boolean
    engineVerify​(byte[] sigBytes)
    渡された署名を検証します。
    protected boolean
    engineVerify​(byte[] sigBytes, int offset, int length)
    指定されたオフセットから開始して、指定されたバイト・データの配列の渡された署名を検証します。

    クラス java.lang.Objectで宣言されたメソッド

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • appRandom

      protected SecureRandom appRandom
      アプリケーション固有の乱数発生の元です。
  • コンストラクタの詳細

    • SignatureSpi

      public SignatureSpi()
      サブクラスが呼び出すためのコンストラクタ。
  • メソッドの詳細

    • engineInitVerify

      protected abstract void engineInitVerify(PublicKey publicKey) throws InvalidKeyException
      この署名オブジェクトを、検証操作のために指定された公開キーで初期化します。
      パラメータ:
      publicKey - 署名が検証されるアイデンティティの公開キー。
      例外:
      InvalidKeyException - キーの符号化が不適切な場合、パラメータが欠落している場合など。
    • engineInitSign

      protected abstract void engineInitSign(PrivateKey privateKey) throws InvalidKeyException
      署名オブジェクトを、署名操作のために指定された非公開キーで初期化します。
      パラメータ:
      privateKey - 署名が生成されるアイデンティティの非公開キー。
      例外:
      InvalidKeyException - キーの符号化が不適切な場合、パラメータが欠落している場合など。
    • engineInitSign

      protected void engineInitSign(PrivateKey privateKey, SecureRandom random) throws InvalidKeyException
      署名オブジェクトを、署名操作のために指定された非公開キーと乱数発生の元で初期化します。

      この具象メソッドは、事前に定義されたこの抽象クラスに追加されたものです。 下位互換性のために、抽象メソッドにはできません。

      パラメータ:
      privateKey - 署名が生成されるアイデンティティの非公開キー。
      random - 乱数発生の元
      例外:
      InvalidKeyException - キーの符号化が不適切な場合、パラメータが欠落している場合など。
    • engineUpdate

      protected abstract void engineUpdate(byte b) throws SignatureException
      署名または検証されるデータを、指定されたバイトで更新します。
      パラメータ:
      b - 更新に使うバイト。
      例外:
      SignatureException - エンジンが適切に初期化されていない場合。
    • engineUpdate

      protected abstract void engineUpdate(byte[] b, int off, int len) throws SignatureException
      署名または検証するデータを、指定されたバイトの配列を使って、指定されたオフセットから更新します。
      パラメータ:
      b - バイトの配列
      off - バイトの配列での開始オフセット
      len - 使用するバイト数(offsetから開始)
      例外:
      SignatureException - エンジンが適切に初期化されていない場合
    • engineUpdate

      protected void engineUpdate(ByteBuffer input)
      署名または検証するデータを、指定されたByteBufferを使用して更新します。 data.position()から始まるdata.remaining()バイトを処理します。 終了時に、バッファの位置はリミットに等しくなりますが、リミットは変更されません。
      パラメータ:
      input - ByteBuffer
      導入されたバージョン:
      1.5
    • engineSign

      protected abstract byte[] engineSign() throws SignatureException
      これまでに更新されたすべてのデータのうちの署名データを返します。 署名の形式は基になる署名方式に依存します。
      戻り値:
      署名操作の結果の署名バイト。
      例外:
      SignatureException - エンジンが正しく初期化されていない場合、またはこの署名アルゴリズムが指定された入力データを処理できない場合。
    • engineSign

      protected int engineSign(byte[] outbuf, int offset, int len) throws SignatureException
      署名操作を終了し、結果として得られる署名バイトを、指定されたバッファoutbufoffsetから格納します。 署名の形式は基になる署名方式に依存します。

      署名の実装は、初期状態(engineInitSignメソッドの1つに呼び出された直後の状態)にリセットされます。リセットされた後は、同じ非公開キーを使ってさらに署名を生成するために再使用できます。 このメソッドは抽象メソッドでなければいけませんが、バイナリ互換を保つために具象メソッドのままにしておきます。 互換性を配慮するプロバイダは、このメソッドをオーバーライドしてください。

      パラメータ:
      outbuf - 最終的な署名を格納するバッファ。
      offset - outbufに署名を格納するときのオフセット。
      len - outbuf内に署名用として割り当てられるバイト数。 このデフォルト実装とSUNプロバイダは、どちらも部分的なダイジェストを返さない。 このパラメータの値が実際の署名の長さよりも短い場合、このメソッドはSignatureExceptionをスローする。 このパラメータは、その値が実際の署名の長さより長いか等しい場合は無視される。
      戻り値:
      outbufに格納されたバイト数
      例外:
      SignatureException - エンジンが正しく初期化されていない場合、この署名アルゴリズムが指定された入力データを処理できない場合、またはlenが実際の署名の長さより小さい場合。
      導入されたバージョン:
      1.2
    • engineVerify

      protected abstract boolean engineVerify(byte[] sigBytes) throws SignatureException
      渡された署名を検証します。
      パラメータ:
      sigBytes - 検証対象の署名バイト。
      戻り値:
      署名が検証された場合はtrue、そうでない場合はfalse。
      例外:
      SignatureException - エンジンが正しく初期化されていない場合、指定された署名の符号化方法が不適切である場合、指定された署名の型が不正である場合、この署名アルゴリズムが指定された入力データを処理できない場合など。
    • engineVerify

      protected boolean engineVerify(byte[] sigBytes, int offset, int length) throws SignatureException
      指定されたオフセットから開始して、指定されたバイト・データの配列の渡された署名を検証します。

      ノート: サブクラスは、デフォルトの実装を上書きする必要があります。

      パラメータ:
      sigBytes - 検証対象の署名バイト。
      offset - バイトの配列での開始オフセット。
      length - 使用するバイト数(offsetから開始)。
      戻り値:
      署名が検証された場合はtrue、そうでない場合はfalse。
      例外:
      SignatureException - エンジンが正しく初期化されていない場合、指定された署名の符号化方法が不適切である場合、指定された署名の型が不正である場合、この署名アルゴリズムが指定された入力データを処理できない場合など。
      導入されたバージョン:
      1.4
    • engineSetParameter

      @Deprecatedprotected abstract void engineSetParameter(String param, Object value) throws InvalidParameterException
      非推奨。
      engineSetParameterに置き換えられています。
      指定されたアルゴリズム・パラメータを、指定された値に設定します。 このメソッドは、このオブジェクトのさまざまなパラメータの設定を可能にする汎用的なメカニズムを提供します。 パラメータは、たとえば、パラメータ・サイズ、署名生成に対する乱数ビットの発生源(該当する場合)、特定のオプションの計算を実行するかどうかの指示など、アルゴリズムに対して設定可能であればどのようなパラメータでも設定できます。 各パラメータの命名法は、統一されていてアルゴリズムに固有であることが望ましいですが、現時点では規定されていません。
      パラメータ:
      param - パラメータの文字列識別子。
      value - パラメータ値。
      例外:
      InvalidParameterException - paramがこの署名アルゴリズム・エンジンに対して無効である場合、パラメータが設定済みで再設定できない場合、セキュリティ例外が発生した場合など。
    • engineSetParameter

      protected void engineSetParameter(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException

      このメソッドはプロバイダによってオーバーライドされ、署名エンジンを指定したパラメータ・セットで初期化します。

      パラメータ:
      params - パラメータ
      例外:
      UnsupportedOperationException - このメソッドがプロバイダでオーバーライドされていない場合
      InvalidAlgorithmParameterException - このメソッドがプロバイダでオーバーライドされておらず、かつ与えられたパラメータが署名エンジンにとって不適切である場合
    • engineGetParameters

      protected AlgorithmParameters engineGetParameters()

      このメソッドは、このシグネチャ・エンジンで使用されるパラメータを返すためにプロバイダによってオーバーライドされます。

      このシグネチャ・エンジンがパラメータ(engineSetParameter(AlgorithmParameterSpec)またはengineSetParameter(String, Object)のコール)で初期化されており、基礎となるシグネチャ実装がパラメータをAlgorithmParametersとして返すことをサポートしている場合、このメソッドは同じパラメータを返します。 パラメータが設定されていない場合、基礎となるシグネチャ実装でサポートされており、正常に生成できる場合、このメソッドはデフォルトのパラメータ値とランダムに生成されたパラメータ値の組合せを返すことがあります。 それ以外の場合はnullが返されます。

      戻り値:
      このシグネチャ・エンジンまたはnullで使用されるパラメータ
      例外:
      UnsupportedOperationException - このメソッドがプロバイダでオーバーライドされていない場合
      導入されたバージョン:
      1.4
    • engineGetParameter

      @Deprecatedprotected abstract Object engineGetParameter(String param) throws InvalidParameterException
      非推奨。
      指定されたアルゴリズム・パラメータの値を取得します。 このメソッドは、このオブジェクトのさまざまなパラメータの設定を可能にする汎用的なメカニズムを提供します。 パラメータは、たとえば、パラメータ・サイズ、署名生成に対する乱数ビットの発生源(該当する場合)、特定のオプションの計算を実行するかどうかの指示など、アルゴリズムに対して設定可能であればどのようなパラメータでも設定できます。 各パラメータの命名法は、統一されていてアルゴリズムに固有であることが望ましいですが、現時点では規定されていません。
      パラメータ:
      param - パラメータの文字列名。
      戻り値:
      パラメータ値を表すオブジェクト、または何もない場合はnull
      例外:
      InvalidParameterException - paramがこのエンジンに対して無効なパラメータである場合、またはこのパラメータを取得しようとしている間に別の例外が発生した場合。
    • clone

      public Object clone() throws CloneNotSupportedException
      実装が複製可能な場合は複製を返します。
      オーバーライド:
      clone、クラス: Object
      戻り値:
      実装が複製可能な場合は複製。
      例外:
      CloneNotSupportedException - Cloneableをサポートしていない実装で呼び出された場合。
      関連項目:
      Cloneable