|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.security.KeyFactory
鍵ファクトリ (KeyFactory) は、Key
型の不透明な暗号鍵である「鍵」と、基本の鍵データの透過的な表現である「鍵仕様」との間の変換を行うために使用します。
鍵ファクトリ (KeyFactory) は双方向です。つまり、指定した鍵仕様 (鍵データ) から不透明な鍵オブジェクトを構築することも、適切な形式で鍵オブジェクトの基本の鍵データを取り出すこともできます。
同じ鍵に対して、互換性のある複数の鍵仕様が存在する場合があります。たとえば DSA 公開鍵は、DSAPublicKeySpec
または X509EncodedKeySpec
を使って指定できます。鍵ファクトリ (KeyFactory) を使用すると、互換性のある鍵仕様間の変換を行うことができます。
以下に、鍵ファクトリ (KeyFactory) を使って、DSA 公開鍵を符号化した状態からインスタンスを生成する例を示します。Alice が Bob からデジタル署名を受け取ったとします。Bob は、彼の署名を検証するための符号化形式の公開鍵も送りました。Alice は、これらを次のように処理します。
X509EncodedKeySpec bobPubKeySpec = new X509EncodedKeySpec(bobEncodedPubKey); KeyFactory keyFactory = KeyFactory.getInstance("DSA"); PublicKey bobPubKey = keyFactory.generatePublic(bobPubKeySpec); Signature sig = Signature.getInstance("DSA"); sig.initVerify(bobPubKey); sig.update(data); sig.verify(signature);
Key
,
PublicKey
,
PrivateKey
,
KeySpec
,
DSAPublicKeySpec
,
X509EncodedKeySpec
コンストラクタの概要 | |
protected |
KeyFactory(KeyFactorySpi keyFacSpi,
Provider provider,
String algorithm)
KeyFactory オブジェクトを作成します。 |
メソッドの概要 | |
PrivateKey |
generatePrivate(KeySpec keySpec)
提供された鍵仕様 (鍵データ) から非公開鍵オブジェクトを作成します。 |
PublicKey |
generatePublic(KeySpec keySpec)
提供された鍵仕様 (鍵データ) から公開鍵オブジェクトを作成します。 |
String |
getAlgorithm()
この鍵ファクトリに関連付けられたアルゴリズムの名前を返します。 |
static KeyFactory |
getInstance(String algorithm)
指定されたダイジェストアルゴリズムを実装する KeyFactory オブジェクトを作成します。 |
static KeyFactory |
getInstance(String algorithm,
String provider)
指定されたプロバイダから、指定されたアルゴリズムの KeyFactory オブジェクトを作成します。 |
KeySpec |
getKeySpec(Key key,
Class keySpec)
指定された鍵オブジェクトの仕様 (鍵データ) を返します。 |
Provider |
getProvider()
この鍵ファクトリオブジェクトのプロバイダを返します。 |
Key |
translateKey(Key key)
プロバイダが未知であるか、信頼できない可能性がある鍵オブジェクトを、この鍵ファクトリの対応する鍵オブジェクトに変換します。 |
クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
コンストラクタの詳細 |
protected KeyFactory(KeyFactorySpi keyFacSpi, Provider provider, String algorithm)
keyFacSpi
- 委譲先provider
- プロバイダメソッドの詳細 |
public static KeyFactory getInstance(String algorithm) throws NoSuchAlgorithmException
algorithm
- 要求される鍵アルゴリズムの名前。標準アルゴリズムの名前については、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照public static KeyFactory getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
algorithm
- 要求される鍵アルゴリズムの名前。標準アルゴリズムの名前については、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照provider
- プロバイダの名前Provider
public final Provider getProvider()
public final String getAlgorithm()
public final PublicKey generatePublic(KeySpec keySpec) throws InvalidKeySpecException
keySpec
- 公開鍵の仕様 (鍵データ)public final PrivateKey generatePrivate(KeySpec keySpec) throws InvalidKeySpecException
keySpec
- 非公開鍵の仕様 (鍵データ)public final KeySpec getKeySpec(Key key, Class keySpec) throws InvalidKeySpecException
keySpec
は、鍵データが返される仕様クラスを識別します。たとえば、それが DSAPublicKeySpec.class
の場合には、鍵データが DSAPublicKeySpec
クラスのインスタンスに返されることを示します。key
- 鍵keySpec
- 返される鍵データが従う仕様クラスpublic final Key translateKey(Key key) throws InvalidKeyException
key
- プロバイダが未知であるか、信頼できない鍵
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |