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

クラスSignatureSpi

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

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

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

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

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

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

    修飾子と型
    メソッド
    説明
    実装が複製可能な場合は複製を返します。
    protected abstract Object
    非推奨。 
    この署名オブジェクトを使用するパラメータを返します。
    protected abstract void
    署名オブジェクトを、署名操作のために指定された非公開キーで初期化します。
    protected void
    engineInitSign(PrivateKey privateKey, SecureRandom random)
    署名オブジェクトを、署名操作のために指定された非公開キーと乱数発生の元で初期化します。
    protected abstract void
    この署名オブジェクトを、検証操作のために指定された公開キーで初期化します。
    protected abstract void
    非推奨。
    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

      @Deprecated protected 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()
      この署名オブジェクトを使用するパラメータを返します。

      返されるパラメータは、このシグネチャ・オブジェクトの初期化に使用されたものと同じか、基礎となるシグネチャ・スキームで使用される追加のデフォルトまたはランダムなパラメータ値が含まれる場合があります。 必要なパラメータが指定されておらず、シグネチャ・オブジェクトによって生成できる場合は、生成されたパラメータが返されます。それ以外の場合は、nullが返されます。

      ただし、シグネチャ・スキームでパラメータがAlgorithmParametersとして返されない場合、nullは常に返されます。

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

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

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