|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.security.KeyPairGeneratorSpi
java.security.KeyPairGenerator
public abstract class KeyPairGenerator
KeyPairGenerator 클래스는, 공개키와 비공개키의 페어를 생성하기 위해서 사용합니다. 열쇠 페어 제네레이터는,getInstance
팩토리 메소드 (지정된 클래스의 인스턴스를 돌려주는 static 메소드)를 사용해 구축됩니다.
특정의 알고리즘에 대응하는 열쇠 페어 제네레이터는, 이 알고리즘으로 사용되는 공개키 및 비공개키의 페어를 작성합니다. 또, 알고리즘 특정형의 파라미터가 생성된 각 열쇠에 관련짓습니다.
열쇠의 페어의 생성 방법에는, 알고리즘 독립형과 알고리즘 특정형의 2 개가 있습니다. 이 2 개(살)의 유일한 차이점은, 객체의 초기화에 있습니다.
모든 열쇠 제네레이터는, 키 사이즈 및 random number generation의 원의 개념을 공유합니다. 키 사이즈의 해석은 알고리즘에 따라서 다릅니다 (DSA 알고리즘의 경우, 사이즈는 비트로 나타낸 계수(modulus)의 길이에 대응하는 등). 이 KeyPairGenerator 클래스에는,initialize
라고 하는 메소드가 있어, 전체에 공통되는 형태의 2 개의 인수를 취합니다. 또, 인수에 keysize
만을 취해, random number generation의 원으로서 가장 높은 우선 순위로 인스톨 되고 있는 프로바이더의 SecureRandom
의 구현을 사용하는 initialize 메소드도 있습니다. SecureRandom
를 제공하는 프로바이더가 1 개나 인스톨되어 있지 않은 경우는, 시스템이 제공하는 random number generation의 원이 사용됩니다.
위의 알고리즘 독립형 initialize
메소드를 호출할 때는, 그 외의 파라미터는 지정하지 않기 때문에, 각 열쇠에 관련지을 수 있는 알고리즘 특정형의 파라미터가 있는 경우는, 그 파라미터의 처리는, 프로바이더에 따라서 다릅니다.
알고리즘이 DSA 로, 키 사이즈 (모듈러 여물 이즈)가 512, 768, 또는 1024 의 경우, Sun 프로바이더는 파라미터 p
,q
, 및 g
에 계산 끝난 값세트를 사용합니다. 모듈러 여물 이즈가 상기의 어떤 것도 아닌 경우, Sun 프로바이더는 파라미터세트를 새롭게 작성합니다. 이러한 3 개의 모듈러 여물 이즈 이외의, 사전에 계산된 파라미터 세트를 가지는 프로바이더가 존재할 가능성도 있습니다. 또, 사전에 계산된 파라미터가 없고, 항상 새로운 파라미터 세트를 작성하는 프로바이더가 존재할 가능성도 있습니다.
알고리즘에 특정의 파라미터 (DSA 의 커뮤니티 파라미터등)가 벌써 존재하고 있는 경우는, 인수에 AlgorithmParameterSpec
를 취하는 2 종류의 initialize
메소드를 이용할 수 있습니다. 이 중 한편은 인수에 SecureRandom
를 취합니다만, 이제(벌써) 한편은, random number generation의 원으로서 가장 높은 우선 순위로 인스톨 되고 있는 프로바이더의 SecureRandom
의 구현을 사용합니다. SecureRandom
를 제공하는 프로바이더가 1 개나 인스톨되어 있지 않은 경우는, 시스템이 제공하는 random number generation의 원이 사용됩니다.
클라이언트가 initialize
메소드의 호출로 명시적으로 KeyPairGenerator 를 초기화하지 않는 경우는, 각 프로바이더는 디폴트의 초기화를 제공해, 이것을 문서화하지 않으면 안됩니다. 예를 들어 Sun 의 프로바이더는, 사이즈가 1,024 비트인 디폴트의 모듈러 여물 이즈 (키 사이즈)를 사용합니다.
이 클래스는, 역사적인 사정으로부터 KeyPairGeneratorSpi
클래스를 상속한 abstract 클래스가 되어 있습니다. 어플리케이션의 개발자는, 이 KeyPairGenerator
클래스에서 정의된 메소드인 만큼 배려해 주세요. 슈퍼 클래스의 모든 메소드는, 열쇠 페어 제네레이터의 독자적인 구현을 제공할 필요가 있는 암호 서비스 프로바이더로 사용되는 것을 상정하고 있습니다.
AlgorithmParameterSpec
생성자 의 개요 | |
---|---|
protected |
KeyPairGenerator (String algorithm)
지정된 알고리즘에 대한 KeyPairGenerator 를 작성합니다. |
메소드의 개요 | |
---|---|
KeyPair |
generateKeyPair ()
열쇠 페어를 생성합니다. |
KeyPair |
genKeyPair ()
열쇠 페어를 생성합니다. |
String |
getAlgorithm ()
이 열쇠 페어 제네레이터의 알고리즘의 표준명을 돌려줍니다. |
static KeyPairGenerator |
getInstance (String algorithm)
지정의 알고리즘의 공개키와 비공개키의 페어를 생성하는 KeyPairGenerator 객체를 돌려줍니다. |
static KeyPairGenerator |
getInstance (String algorithm,
Provider provider)
지정의 알고리즘의 공개키와 비공개키의 페어를 생성하는 KeyPairGenerator 객체를 돌려줍니다. |
static KeyPairGenerator |
getInstance (String algorithm,
String provider)
지정의 알고리즘의 공개키와 비공개키의 페어를 생성하는 KeyPairGenerator 객체를 돌려줍니다. |
Provider |
getProvider ()
이 열쇠 페어 제네레이터 객체의 프로바이더를 돌려줍니다. |
void |
initialize (AlgorithmParameterSpec params)
지정된 파라미터세트와 random number generation의 원으로서 가장 높은 우선 순위로 인스톨 되고 있는 프로바이더의 SecureRandom 의 구현을 사용해, 열쇠 페어 제네레이터를 초기화합니다. |
void |
initialize (AlgorithmParameterSpec params,
SecureRandom random)
지정된 파라미터 세트와 random number generation의 원을 사용해 열쇠 페어 제네레이터를 초기화합니다. |
void |
initialize (int keysize)
임의의 열쇠의 사이즈에 대한 열쇠 페어 제네레이터를 초기화합니다. |
void |
initialize (int keysize,
SecureRandom random)
임의의 키 사이즈 대하는 열쇠 페어 제네레이터를 초기화합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자 의 상세 |
---|
protected KeyPairGenerator(String algorithm)
algorithm
- 알고리즘의 표준명을 나타내는 캐릭터 라인
알고리즘의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조메소드의 상세 |
---|
public String getAlgorithm()
public static KeyPairGenerator getInstance(String algorithm) throws NoSuchAlgorithmException
이 메소드는, 최우선의 Provider 로부터 순서에, 등록을 마친 시큐리티 Provider 의 리스트를 횡단(traverse) 합니다. 지정된 알고리즘을 지원하는 최초의 Provider 의 KeyPairGeneratorSpi 구현을 캡슐화하는 새로운 KeyPairGenerator 객체가 돌려주어집니다.
등록이 끝난 프로바이더의 리스트는,Security.getProviders()
메소드 경유로 취득할 수 있습니다.
algorithm
- 알고리즘의 표준명을 나타내는 캐릭터 라인
알고리즘의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조
NoSuchAlgorithmException
- 지정된 알고리즘의 KeyPairGeneratorSpi 구현을 지원하는 Provider 가 존재하지 않는 경우Provider
public static KeyPairGenerator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException , NoSuchProviderException
지정된 프로바이더의 KeyPairGeneratorSpi 구현을 캡슐화하는 새로운 KeyPairGenerator 객체가 돌려주어집니다. 지정한 프로바이더는, 시큐리티 프로바이더 리스트에 등록할 필요가 있습니다.
등록이 끝난 프로바이더의 리스트는,Security.getProviders()
메소드 경유로 취득할 수 있습니다.
algorithm
- 알고리즘의 표준명을 나타내는 캐릭터 라인
알고리즘의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조provider
- 프로바이더명의 캐릭터 라인
NoSuchAlgorithmException
- 지정된 프로바이더로 지정된 알고리즘의 KeyPairGeneratorSpi 구현이 없는 경우
NoSuchProviderException
- 지정된 프로바이더가 시큐리티 프로바이더 리스트에 등록되지 않은 경우
IllegalArgumentException
- 프로바이더의 이름이 null 나 빈 상태(empty)의 경우Provider
public static KeyPairGenerator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
지정된 Provider 객체의 KeyPairGeneratorSpi 구현을 캡슐화하는 새로운 KeyPairGenerator 객체가 돌려주어집니다. 지정된 Provider 객체는, 프로바이더 리스트에 등록할 필요는 없습니다.
algorithm
- 알고리즘의 표준명을 나타내는 캐릭터 라인
알고리즘의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조provider
- 프로바이더
NoSuchAlgorithmException
- 지정된 Provider 객체로 지정된 알고리즘의 KeyPairGeneratorSpi 구현이 없는 경우
IllegalArgumentException
- 지정된 프로바이더가 null 의 경우Provider
public final Provider getProvider()
public void initialize(int keysize)
SecureRandom
의 구현을 사용합니다. SecureRandom
를 제공하는 프로바이더가 1 개나 인스톨되어 있지 않은 경우는, 시스템이 제공하는 random number generation의 원이 사용됩니다.
keysize
- 키사이즈계수(modulus)의 길이와 같은, bit length로 지정된 알고리즘에 특정의 시학
InvalidParameterException
- 이 KeyPairGenerator 객체가 keysize
메소드를 지원하고 있지 않는 경우public void initialize(int keysize, SecureRandom random)
KeyPairGeneratorSpi
내의 initialize
keysize
- 키사이즈계수(modulus)의 길이와 같은, bit length로 지정된 알고리즘에 특정의 시학random
- random number generation의 원
InvalidParameterException
- 이 KeyPairGenerator 객체가 keysize
메소드를 지원하고 있지 않는 경우public void initialize(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
SecureRandom
의 구현을 사용해, 열쇠 페어 제네레이터를 초기화합니다. SecureRandom
를 제공하는 프로바이더가 1 개나 인스톨되어 있지 않은 경우는, 시스템이 제공하는 random number generation의 원이 사용됩니다.
이 구상 메소드는, 사전에 정의된 이 abstract 클래스에 추가된 것입니다. 이 메소드는, KeyPairGeneratorSpi 클래스의 initialize
메소드를 호출합니다. 메소드의 호출 시에는, 인수로서 params
와 random number generation의 원 (인스톨 되고 있는 프로바이더 가운데, 가장 우선 순위의 높은 프로바이더 제공하는 random number generation의 원. 프로바이더가 random number generation의 원을 제공하지 않는 경우는, 시스템이 제공하는 random number generation의 원)을 건네줍니다. 이 initialize
메소드는, 프로바이더에 의해 오버라이드(override) 되지 않는 경우는, 반드시 UnsupportedOperationException 를 throw 합니다.
params
- 열쇠를 생성하기 위한 파라미터 세트
InvalidAlgorithmParameterException
- 지정된 파라미터가 이 열쇠 페어 제네레이터에 올바르지 않은 경우public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException
이 구상 메소드는, 사전에 정의된 이 abstract 클래스에 추가된 것입니다. 이 메소드는,params
와 random
를 건네주어, KeyPairGeneratorSpi 클래스의 initialize
메소드를 호출합니다. 이 initialize
메소드는, 프로바이더에 의해 오버라이드(override) 되지 않는 경우는, 반드시 UnsupportedOperationException 를 throw 합니다.
KeyPairGeneratorSpi
내의 initialize
params
- 열쇠를 생성하기 위한 파라미터 세트random
- random number generation의 원
InvalidAlgorithmParameterException
- 지정된 파라미터가 이 열쇠 페어 제네레이터에 올바르지 않은 경우public final KeyPair genKeyPair()
KeyPairGenerator 가 명시적으로 초기화되어 있지 않은 경우는, 프로바이더 지정된 디폴트가 생성된 열쇠의 사이즈 및 알고리즘에 특정의 값에 사용합니다.
KeyPairGenerator 는 불려 갈 때마다, 새로운 열쇠 페어를 생성합니다.
이 메소드는, 기능적으로는 generateKeyPair
와 같습니다.
public KeyPair generateKeyPair()
KeyPairGenerator 가 명시적으로 초기화되어 있지 않은 경우는, 프로바이더 지정된 디폴트가 생성된 열쇠의 사이즈 및 알고리즘에 특정의 값에 사용합니다.
KeyPairGenerator 는 불려 갈 때마다, 새로운 열쇠 페어를 생성합니다.
이 메소드는, 기능적으로는 genKeyPair
와 같습니다.
KeyPairGeneratorSpi
내의 generateKeyPair
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.