|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.xml.crypto.dsig.keyinfo.KeyInfoFactory
public abstract class KeyInfoFactory
ゼロから KeyInfo
オブジェクトを作成、または対応する XML 表現から KeyInfo
オブジェクトを非整列化するためのファクトリ。
KeyInfoFactory
の各インスタンスは、特定の XML 機構型をサポートします。KeyInfoFactory
を作成するには、static getInstance
メソッドを呼び出し、目的の XML 機構型内で渡します。次に例を示します。
KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
ファクトリが生成するオブジェクトは DOM に基づいており、API の概要の「DOM 機構要件」セクションで定義されている DOM 相互運用性の要件に従う必要があります。標準の機構型のリストは、API の概要の「サービスプロバイダ」セクションを参照してください。
KeyInfoFactory
実装は、Provider
機構を使用して登録およびロードされます。たとえば、DOM 機構をサポートするサービスプロバイダは Provider
サブクラスで次のように指定されます。
put("KeyInfoFactory.DOM", "org.example.DOMKeyInfoFactory");
また、このファクトリによって作成される XMLStructure
には、KeyInfo
に固有で再利用には対応していない状態が格納されます。
実装は、デフォルトの機構型である DOM を最低限サポートする必要があります。
呼び出し側は同じ KeyInfoFactory
インスタンスを使用して、特定の KeyInfo
オブジェクトの XMLStructure
を作成する必要があります。 異なるプロバイダからの XMLStructure
または異なる機構がともに使用される場合、動作は定義されていません。
並行アクセス
このクラスの static メソッドは、スレッドセーフであることが保証されています。このクラスで定義されている static メソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。
しかしこのことは、このクラスで定義されている非 static メソッドには当てはまりません。特定のプロバイダで特に説明がないかぎり、単一 KeyInfoFactory
インスタンスに並行してアクセスする必要のある複数スレッドは、スレッド間で同期をとり、必要に応じてロックしなければなりません。異なる KeyInfoFactory
インスタンスを操作する複数スレッド間では、同期をとる必要はありません。
コンストラクタの概要 | |
---|---|
protected |
KeyInfoFactory()
サブクラスによって呼び出されるデフォルトのコンストラクタ。 |
メソッドの概要 | |
---|---|
static KeyInfoFactory |
getInstance()
デフォルトの XML 処理機構および表現型 ("DOM") をサポートする KeyInfoFactory を返します。 |
static KeyInfoFactory |
getInstance(String mechanismType)
指定された XML 処理機構および表現型 (例: "DOM") をサポートする KeyInfoFactory を返します。 |
static KeyInfoFactory |
getInstance(String mechanismType,
Provider provider)
指定したプロバイダが提供する、要求された XML 処理機構および表現型 (例: "DOM") をサポートする KeyInfoFactory を返します。 |
static KeyInfoFactory |
getInstance(String mechanismType,
String provider)
指定したプロバイダが提供する、要求された XML 処理機構および表現型 (例: "DOM") をサポートする KeyInfoFactory を返します。 |
String |
getMechanismType()
この KeyInfoFactory がサポートする XML 処理機構および表現の型を返します (例: "DOM")。 |
Provider |
getProvider()
この KeyInfoFactory のプロバイダを返します。 |
abstract URIDereferencer |
getURIDereferencer()
RetrievalMethod オブジェクト内でデフォルトの間接参照 URI に使用される URIDereferencer への参照を返します。 |
abstract boolean |
isFeatureSupported(String feature)
指定した機能がサポートされるかどうかを示します。 |
abstract KeyInfo |
newKeyInfo(List content)
指定された鍵情報の型のリストを格納する KeyInfo を作成します。 |
abstract KeyInfo |
newKeyInfo(List content,
String id)
指定された鍵情報の型および省略可能な識別子のリストを格納する KeyInfo を作成します。 |
abstract KeyName |
newKeyName(String name)
指定された名前から KeyName を作成します。 |
abstract KeyValue |
newKeyValue(PublicKey key)
指定された公開鍵から KeyValue を作成します。 |
abstract PGPData |
newPGPData(byte[] keyId)
指定した PGP 公開鍵識別子から PGPData を作成します。 |
abstract PGPData |
newPGPData(byte[] keyId,
byte[] keyPacket,
List other)
指定した PGP 公開鍵識別子、および省略可能な鍵データパケットと外部要素のリストからの PGPData を作成します。 |
abstract PGPData |
newPGPData(byte[] keyPacket,
List other)
指定した PGP 鍵データパケット、および省略可能な外部要素のリストからの PGPData を作成します。 |
abstract RetrievalMethod |
newRetrievalMethod(String uri)
指定された URI から RetrievalMethod を作成します。 |
abstract RetrievalMethod |
newRetrievalMethod(String uri,
String type,
List transforms)
指定されたパラメータから RetrievalMethod を作成します。 |
abstract X509Data |
newX509Data(List content)
指定した X.509 コンテンツのリストを格納する X509Data を作成します。 |
abstract X509IssuerSerial |
newX509IssuerSerial(String issuerName,
BigInteger serialNumber)
指定した X.500 発行者識別名およびシリアル番号から X509IssuerSerial を作成します。 |
abstract KeyInfo |
unmarshalKeyInfo(XMLStructure xmlStructure)
機構固有の XMLStructure (例: DOMStructure ) インスタンスからの新しい KeyInfo インスタンスを非整列化します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
protected KeyInfoFactory()
メソッドの詳細 |
---|
public static KeyInfoFactory getInstance(String mechanismType)
KeyInfoFactory
を返します。
このメソッドは標準 JCA プロバイダ検索機構を使用して、目的の機構型の KeyInfoFactory
実装を検出およびインスタンス化します。登録済みのセキュリティー Provider
のリストを、最優先の Provider
からたどります。指定した機構をサポートする最初の Provider
からの新しい KeyInfoFactory
オブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders()
メソッド経由で取得できます。
mechanismType
- XML 処理機構および表現の型。
標準の機構型のリストについては、API の概要の
「サービスプロバイダ」セクションを
参照してください。
KeyInfoFactory
NullPointerException
- mechanismType
が
null の場合
NoSuchMechanismException
- 指定した機構用の KeyInfoFactory
実装を
サポートする Provider
がない場合Provider
public static KeyInfoFactory getInstance(String mechanismType, Provider provider)
KeyInfoFactory
を返します。指定した Provider
オブジェクトは、プロバイダーリストに登録する必要はありません。
mechanismType
- XML 処理機構および表現の型。
標準の機構型のリストについては、API の概要の
「サービスプロバイダ」セクションを
参照してください。provider
- Provider
オブジェクト
KeyInfoFactory
NullPointerException
- mechanismType
または
provider
が null
の場合
NoSuchMechanismException
- 指定した機構用の KeyInfoFactory
実装が指定した
Provider
オブジェクトで使用できない場合Provider
public static KeyInfoFactory getInstance(String mechanismType, String provider) throws NoSuchProviderException
KeyInfoFactory
を返します。指定したプロバイダは、セキュリティープロバイダリストに登録する必要があります。
登録済みプロバイダのリストは、Security.getProviders()
メソッド経由で取得できます。
mechanismType
- XML 処理機構および表現の型。
標準の機構型のリストについては、API の概要の
「サービスプロバイダ」セクションを
参照してください。provider
- プロバイダ名の文字列
KeyInfoFactory
NoSuchProviderException
- 指定されたプロバイダが
セキュリティープロバイダリストに登録されていない場合
NullPointerException
- mechanismType
または
provider
が null
の場合
NoSuchMechanismException
- 指定した機構用の KeyInfoFactory
実装が指定した
プロバイダで使用できない場合Provider
public static KeyInfoFactory getInstance()
KeyInfoFactory
を返します。
このメソッドは標準 JCA プロバイダ検索機構を使用して、デフォルトの機構型の KeyInfoFactory
実装を検出およびインスタンス化します。登録済みのセキュリティー Provider
のリストを、最優先の Provider
からたどります。DOM 機構をサポートする最初の Provider
からの新しい KeyInfoFactory
オブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders()
メソッド経由で取得できます。
KeyInfoFactory
NoSuchMechanismException
- DOM 機構用の KeyInfoFactory
実装を
サポートする Provider
がない場合Provider
public final String getMechanismType()
KeyInfoFactory
がサポートする XML 処理機構および表現の型を返します (例: "DOM")。
KeyInfoFactory
がサポートする XML 処理機構型
public final Provider getProvider()
KeyInfoFactory
のプロバイダを返します。
KeyInfoFactory
のプロバイダpublic abstract KeyInfo newKeyInfo(List content)
KeyInfo
を作成します。
content
- 鍵情報の型を表現する
1 つ以上の XMLStructure
。以後の変更から保護するために、
リストは防御的にコピーされます。
KeyInfo
NullPointerException
- content
が null
の場合
IllegalArgumentException
- content
が空の場合
ClassCastException
- content
に型
XMLStructure
でないエントリが含まれる場合public abstract KeyInfo newKeyInfo(List content, String id)
KeyInfo
を作成します。id
パラメータは XML ID
属性の値を表現し、ほかの XML 構造から KeyInfo
を参照する場合に便利です。
content
- 鍵情報の型を表現する
1 つ以上の XMLStructure
。以後の変更から保護するために、
リストは防御的にコピーされます。id
- XML ID
の値。null
も可
KeyInfo
NullPointerException
- content
が null
の場合
IllegalArgumentException
- content
が空の場合
ClassCastException
- content
に型
XMLStructure
でないエントリが含まれる場合public abstract KeyName newKeyName(String name)
KeyName
を作成します。
name
- 鍵を識別する名前
KeyName
NullPointerException
- name
が null
の場合public abstract KeyValue newKeyValue(PublicKey key) throws KeyException
KeyValue
を作成します。
key
- 公開鍵
KeyValue
KeyException
- key
のアルゴリズムが
この KeyInfoFactory
によって認識またはサポートされない場合
NullPointerException
- key
が null
の場合public abstract PGPData newPGPData(byte[] keyId)
PGPData
を作成します。
keyId
- RFC 2440、セクション 11.2 で定義されている PGP 公開鍵識別子。
以後の変更から保護するために、この配列は複製されます。
PGPData
NullPointerException
- keyId
が null
の場合
IllegalArgumentException
- 鍵識別子が
正しい形式でない場合public abstract PGPData newPGPData(byte[] keyId, byte[] keyPacket, List other)
PGPData
を作成します。
keyId
- RFC 2440、セクション 11.2 で定義されている PGP 公開鍵識別子。
以後の変更から保護するために、この配列は複製されます。keyPacket
- RFC 2440、セクション 11.2 で定義されている PGP 鍵データパケット。
以後の変更から保護するために、この配列は複製されます。
null
も可other
- 外部名前空間からの要素を表現する
XMLStructure
のリスト。以後の変更から保護するために、
リストは防御的にコピーされます。null
または空文字列も可
PGPData
NullPointerException
- keyId
が null
の場合
IllegalArgumentException
- keyId
または
keyPacket
が正しくない形式の場合。
keyPacket
の場合、パケットヘッダーの形式が
判定され、タグは鍵データの型であるか検査されます。
パケット本体のコンテンツと形式は検査されません。
ClassCastException
- other
に型
XMLStructure
でないエントリが含まれる場合public abstract PGPData newPGPData(byte[] keyPacket, List other)
PGPData
を作成します。
keyPacket
- RFC 2440、セクション 5.5 で定義されている PGP 鍵データパケット。
以後の変更から保護するために、この配列は複製されます。other
- 外部名前空間からの要素を表現する
XMLStructure
のリスト。以後の変更から保護するために、
リストは防御的にコピーされます。null
または空文字列も可
PGPData
NullPointerException
- keyPacket
が
null の場合
IllegalArgumentException
- keyPacket
が
正しくない形式の場合。keyPacket
の場合、パケットヘッダーの形式が
判定され、タグは鍵データの型であるか検査されます。
パケット本体のコンテンツと形式は検査されません。
ClassCastException
- other
に型
XMLStructure
でないエントリが含まれる場合public abstract RetrievalMethod newRetrievalMethod(String uri)
RetrievalMethod
を作成します。
uri
- 取得する KeyInfo
情報を識別する
URI
RetrievalMethod
NullPointerException
- uri
が null
の場合
IllegalArgumentException
- uri
が RFC 2396
準拠ではない場合public abstract RetrievalMethod newRetrievalMethod(String uri, String type, List transforms)
RetrievalMethod
を作成します。
uri
- 取得する KeyInfo
情報を識別する
URItype
- 取得する KeyInfo
情報を識別する URI。null
も可transforms
- Transform
のリスト。以後の変更から保護するために、
このリストは防御的にコピーされます。
null
または空文字列も可
RetrievalMethod
NullPointerException
- uri
が null
の場合
IllegalArgumentException
- uri
が RFC 2396
準拠ではない場合
ClassCastException
- transforms
に型
Transform
でないエントリが含まれる場合public abstract X509Data newX509Data(List content)
X509Data
を作成します。
content
- 1 つ以上の X.509 コンテンツ型のリスト。有効な型は、
String
(被認証者名)、byte[]
(被認証者の鍵識別子)、
X509Certificate
、X509CRL
、
またはXMLStructure
(外部名前空間からの
X509IssuerSerial
オブジェクトまたは要素)。被認証者名は
RFC 2253 String 形式の識別名です。実装は、
RFC 2253 で定義されている属性の型キーワード (CN、L、ST、
O、OU、C、STREET、DC および UID) をサポートする必要があります。実装は、追加のキーワードをサポートすることも
できます。以後の変更から保護するために、
リストは防御的にコピーされます。
X509Data
NullPointerException
- content
が null
の場合
IllegalArgumentException
- content
が空の場合、または
被認証者名が RFC 2253 準拠でないまたは属性の型キーワードの 1 つが
認識されない場合
ClassCastException
- content
に上記の
有効な型の 1 つでないエントリが含まれている場合public abstract X509IssuerSerial newX509IssuerSerial(String issuerName, BigInteger serialNumber)
X509IssuerSerial
を作成します。
issuerName
- RFC 2253 String 形式の
発行者の識別名。実装は、RFC 2253 で定義されている属性の型キーワード
(CN、L、ST、O、OU、C、STREET、DC および UID) をサポートする必要があります。
実装は、追加のキーワードをサポートすることもできます。serialNumber
- シリアル番号
X509IssuerSerial
NullPointerException
- issuerName
または
serialNumber
が null
の場合
IllegalArgumentException
- 発行者名が RFC 2253 準拠でない場合、
または属性の型キーワードが認識されない場合public abstract boolean isFeatureSupported(String feature)
feature
- 機能名 (絶対 URI として)
true
。
そうでない場合は false
NullPointerException
- feature
が null
の場合public abstract URIDereferencer getURIDereferencer()
RetrievalMethod
オブジェクト内でデフォルトの間接参照 URI に使用される URIDereferencer
への参照を返します。
URIDereferencer
への参照public abstract KeyInfo unmarshalKeyInfo(XMLStructure xmlStructure) throws MarshalException
XMLStructure
(例: DOMStructure
) インスタンスからの新しい KeyInfo
インスタンスを非整列化します。
xmlStructure
- keyinfo の非整列化を開始する
機構固有の XML 構造
KeyInfo
NullPointerException
- xmlStructure
が
null の場合
ClassCastException
- xmlStructure
の型が
このファクトリには不適切な場合
MarshalException
- 非整列化中に回復不能な例外が
発生した場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。