JavaTM Platform
Standard Ed. 6

java.security
クラス SignatureSpi

java.lang.Object
  上位を拡張 java.security.SignatureSpi
直系の既知のサブクラス:
Signature

public abstract class SignatureSpi
extends Object

Signature クラスの Service Provider Interface (SPI) を定義します。 これは、デジタル署名アルゴリズムの機能を提供するために使用されます。デジタル署名は、認証やデジタルデータの整合性を保証するために使用されます。.  

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

関連項目:
Signature

フィールドの概要
protected  SecureRandom appRandom
          アプリケーション固有の乱数発生の元です。
 
コンストラクタの概要
SignatureSpi()
           
 
メソッドの概要
 Object clone()
          実装が複製可能な場合は複製を返します。
protected abstract  Object engineGetParameter(String param)
          推奨されていません。  
protected  AlgorithmParameters engineGetParameters()
          このメソッドはプロバイダによってオーバーライドされ、署名エンジンで使用されたパラメータを返します。
protected abstract  void engineInitSign(PrivateKey privateKey)
          署名オブジェクトを、署名操作のために指定された非公開鍵で初期化します。
protected  void engineInitSign(PrivateKey privateKey, SecureRandom random)
          署名オブジェクトを、署名操作のために指定された非公開鍵と乱数発生の元で初期化します。
protected abstract  void engineInitVerify(PublicKey publicKey)
          署名オブジェクトを、検証操作のために指定された公開鍵で初期化します。
protected  void engineSetParameter(AlgorithmParameterSpec params)
          このメソッドはプロバイダによってオーバーライドされ、署名エンジンを指定したパラメータセットで初期化します。
protected abstract  void engineSetParameter(String param, Object value)
          推奨されていません。 engineSetParameter で置き換えられました。
protected abstract  byte[] engineSign()
          これまでに更新されたすべてのデータのうちの署名データを返します。
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 engineUpdate(ByteBuffer input)
          署名または検証するデータを、指定された 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
署名オブジェクトを、署名操作のために指定された非公開鍵と乱数発生の元で初期化します。

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

パラメータ:
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 - オフセットから開始して使われるバイト数
例外:
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 - オフセットから開始して使われるバイト数
戻り値:
署名が検証された場合は 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 を返します。

返されたパラメータは、この署名エンジンを初期化するために使用されたパラメータと同じになることがあります。あるいは、この署名エンジンがアルゴリズムパラメータを要求しても、どのアルゴリズムパラメータでも初期化されなかった場合には、返されたパラメータには、基になる署名の実装で使用されるデフォルトのパラメータ値とランダムに生成されたパラメータ値の組み合わせが含まれることがあります。

戻り値:
この署名エンジンで使用されたパラメータ。この署名エンジンがパラメータを使用しない場合は null
例外:
UnsupportedOperationException - このメソッドがプロバイダでオーバーライドされていない場合
導入されたバージョン:
1.4

engineGetParameter

@Deprecated
protected abstract Object engineGetParameter(String param)
                                      throws InvalidParameterException
推奨されていません。 

指定されたアルゴリズムパラメータの値を取得します。このメソッドは、このオブジェクトのさまざまなパラメータの設定を可能にする汎用的な機構を提供します。パラメータは、たとえば、パラメータサイズ、署名生成に対する乱数ビットの発生源 (該当する場合)、特定のオプションの計算を実行するかどうかの指示など、アルゴリズムに対して設定可能であればどのようなパラメータでも設定できます。各パラメータの命名法は、統一されていてアルゴリズムに固有であることが望ましいですが、現時点では規定されていません。

パラメータ:
param - パラメータの文字列名
戻り値:
パラメータ値を表現するオブジェクト。存在しない場合は null
例外:
InvalidParameterException - param がこのエンジンに対して無効なパラメータである場合、またはこのパラメータを取得しようとしている間に別の例外が発生した場合

clone

public Object clone()
             throws CloneNotSupportedException
実装が複製可能な場合は複製を返します。

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

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。