|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
java.lang.Object | +--java.security.KeyFactory
열쇠 팩토리는 Key
형의 불투명한 암호열쇠인 「열쇠」라고, 기본의 열쇠 데이터의 투명한 표현인 「열쇠 사양」이라는 사이의 변환을 실시하기 위해서(때문에) 사용합니다.
열쇠 팩토리는 쌍방향성입니다. 즉, 지정한 열쇠 사양 (열쇠 데이터)으로부터 불투명한 열쇠 오브젝트를 구축하는 일도, 적절한 형식에서 열쇠 오브젝트의 기본의 열쇠 데이타를 뽑기 시작할 수도 있습니다.
같은 열쇠에 대해서, 호환성이 있는 복수의 열쇠 사양이 존재하는 경우가 있습니다. 예를 들어 DSA 공개열쇠는 DSAPublicKeySpec
또는 X509EncodedKeySpec
를 사용해 지정할 수 있습니다. 열쇠 팩토리를 사용하면(자), 호환성이 있는 열쇠 사양간의 변환을 실시할 수가 있습니다.
이하에, 열쇠 팩토리를 사용해, DSA 공개열쇠를 encode 한 상태로부터 인스턴스를 생성하는 예를 나타냅니다. Alice 가 Bob 로부터 디지털 서명을 받았다고 합니다. Bob 는 그의 서명을 검증하기 위한 encode 형식의 공개열쇠도 보냈습니다. 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 ()
이 KeyFactory 에 관련한 알고리즘의 이름을 취득합니다. |
static KeyFactory |
getInstance (String algorithm)
지정된 다이제스트 알고리즘을 구현하는 KeyFactory 오브젝트를 작성합니다. |
static KeyFactory |
getInstance (String algorithm,
Provider provider)
지정된 프로바이더로부터, 지정된 알고리즘의 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
- delegate처provider
- 프로바이더algorithm
- 이 KeyFactory 에 관련시키는 알고리즘의 이름메소드의 상세 |
public static KeyFactory getInstance(String algorithm) throws NoSuchAlgorithmException
algorithm
- 요구되는 열쇠 알고리즘의 이름. 표준 알고리즘의 이름에 대해서는 「Java 암호화 아키텍쳐 API 사양 & 레퍼런스」의 부록 A 를 참조
NoSuchAlgorithmException
- 요구되는 알고리즘이, 디폴트의 프로바이더 패키지에도, 검색한 것 외의 프로바이더 패키지에도 없는 경우public static KeyFactory getInstance(String algorithm, String provider) throws NoSuchAlgorithmException , NoSuchProviderException
algorithm
- 요구되는 열쇠 알고리즘의 이름. 표준 알고리즘의 이름에 대해서는 「Java 암호화 아키텍쳐 API 사양 & 레퍼런스」의 부록 A 를 참조provider
- 프로바이더명
NoSuchAlgorithmException
- 지정된 프로바이더에 알고리즘이 없는 경우
NoSuchProviderException
- 프로바이더가 설정되어 있지 않은 경우
IllegalArgumentException
- 프로바이더의 이름이 null 나 비었을 경우Provider
public static KeyFactory getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
provider
는 등록되어 있을 필요는 없습니다.
algorithm
- 요구되는 열쇠 알고리즘의 이름. 표준 알고리즘의 이름에 대해서는 「Java 암호화 아키텍쳐 API 사양 & 레퍼런스」의 부록 A 를 참조provider
- 프로바이더
NoSuchAlgorithmException
- 지정된 프로바이더에 알고리즘이 없는 경우
IllegalArgumentException
- provider
가 null 의 경우Provider
public final Provider getProvider()
public final String getAlgorithm()
public final PublicKey generatePublic(KeySpec keySpec) throws InvalidKeySpecException
keySpec
- 공개열쇠의 사양 (열쇠 데이터)
InvalidKeySpecException
- 지정된 열쇠 사양이 이 열쇠 팩토리에 의한 공개열쇠의 생성에 부적절한 경우public final PrivateKey generatePrivate(KeySpec keySpec) throws InvalidKeySpecException
keySpec
- 비공개열쇠의 사양 (열쇠 데이터)
InvalidKeySpecException
- 지정된 열쇠 사양이 이 열쇠 팩토리에 의한 비공개열쇠의 생성에 부적절한 경우public final KeySpec getKeySpec(Key key, Class keySpec) throws InvalidKeySpecException
keySpec
는 열쇠 데이터가 돌려주어지는 사양 클래스를 식별합니다. 예를 들어, 그것이 DSAPublicKeySpec.class
의 경우는 열쇠 데이터가 DSAPublicKeySpec
클래스의 인스턴스에 돌려주어지는 것을 나타냅니다.
key
- 열쇠keySpec
- 열쇠 데이터가 돌려주어지는 사양 클래스
InvalidKeySpecException
- 요구되는 열쇠 사양이 지정된 열쇠에 부적절한 경우, 혹은 인식되지 않는 알고리즘이나 형식의 열쇠를 지정했을 경우 등, 지정된 열쇠를 처리할 수 없는 경우public final Key translateKey(Key key) throws InvalidKeyException
key
- 프로바이더가 미지인지 신뢰할 수 없는 열쇠
InvalidKeyException
- 지정된 열쇠를 이 열쇠 팩토리로 처리할 수 없는 경우
|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
Java, Java 2 D, 및 JDBC 는 미국 및 그 외의 나라에 있어서의 미국 Sun Microsystems, Inc. 의 상표 혹은 등록상표입니다.
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.