JavaTM Platform
Standard Ed. 6

java.security
클래스 KeyPairGenerator

java.lang.Object 
  상위를 확장 java.security.KeyPairGeneratorSpi 
      상위를 확장 java.security.KeyPairGenerator


public abstract class KeyPairGenerator
extends KeyPairGeneratorSpi

KeyPairGenerator 클래스는, 공개키와 비공개키의 페어를 생성하기 위해서 사용합니다. 열쇠 페어 제네레이터는,getInstance 팩토리 메소드 (지정된 클래스의 인스턴스를 돌려주는 static 메소드)를 사용해 구축됩니다.

특정의 알고리즘에 대응하는 열쇠 페어 제네레이터는, 이 알고리즘으로 사용되는 공개키 및 비공개키의 페어를 작성합니다. 또, 알고리즘 특정형의 파라미터가 생성된 각 열쇠에 관련짓습니다.

열쇠의 페어의 생성 방법에는, 알고리즘 독립형과 알고리즘 특정형의 2 개가 있습니다. 이 2 개(살)의 유일한 차이점은, 객체의 초기화에 있습니다.

클라이언트가 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
 

생성자 의 상세

KeyPairGenerator

protected KeyPairGenerator(String  algorithm)
지정된 알고리즘에 대한 KeyPairGenerator 를 작성합니다.

파라미터:
algorithm - 알고리즘의 표준명을 나타내는 캐릭터 라인 알고리즘의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조
메소드의 상세

getAlgorithm

public String  getAlgorithm()
이 열쇠 페어 제네레이터의 알고리즘의 표준명을 돌려줍니다. 알고리즘의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조

반환값:
알고리즘의 표준명을 나타내는 캐릭터 라인

getInstance

public static KeyPairGenerator  getInstance(String  algorithm)
                                    throws NoSuchAlgorithmException 
지정의 알고리즘의 공개키와 비공개키의 페어를 생성하는 KeyPairGenerator 객체를 돌려줍니다.

이 메소드는, 최우선의 Provider 로부터 순서에, 등록을 마친 시큐리티 Provider 의 리스트를 횡단(traverse) 합니다. 지정된 알고리즘을 지원하는 최초의 Provider 의 KeyPairGeneratorSpi 구현을 캡슐화하는 새로운 KeyPairGenerator 객체가 돌려주어집니다.

등록이 끝난 프로바이더의 리스트는,Security.getProviders() 메소드 경유로 취득할 수 있습니다.

파라미터:
algorithm - 알고리즘의 표준명을 나타내는 캐릭터 라인 알고리즘의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조
반환값:
새로운 KeyPairGenerator 객체
예외:
NoSuchAlgorithmException - 지정된 알고리즘의 KeyPairGeneratorSpi 구현을 지원하는 Provider 가 존재하지 않는 경우
관련 항목:
Provider

getInstance

public static KeyPairGenerator  getInstance(String  algorithm,
                                           String  provider)
                                    throws NoSuchAlgorithmException ,
                                           NoSuchProviderException 
지정의 알고리즘의 공개키와 비공개키의 페어를 생성하는 KeyPairGenerator 객체를 돌려줍니다.

지정된 프로바이더의 KeyPairGeneratorSpi 구현을 캡슐화하는 새로운 KeyPairGenerator 객체가 돌려주어집니다. 지정한 프로바이더는, 시큐리티 프로바이더 리스트에 등록할 필요가 있습니다.

등록이 끝난 프로바이더의 리스트는,Security.getProviders() 메소드 경유로 취득할 수 있습니다.

파라미터:
algorithm - 알고리즘의 표준명을 나타내는 캐릭터 라인 알고리즘의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조
provider - 프로바이더명의 캐릭터 라인
반환값:
새로운 KeyPairGenerator 객체
예외:
NoSuchAlgorithmException - 지정된 프로바이더로 지정된 알고리즘의 KeyPairGeneratorSpi 구현이 없는 경우
NoSuchProviderException - 지정된 프로바이더가 시큐리티 프로바이더 리스트에 등록되지 않은 경우
IllegalArgumentException - 프로바이더의 이름이 null 나 빈 상태(empty)의 경우
관련 항목:
Provider

getInstance

public static KeyPairGenerator  getInstance(String  algorithm,
                                           Provider  provider)
                                    throws NoSuchAlgorithmException 
지정의 알고리즘의 공개키와 비공개키의 페어를 생성하는 KeyPairGenerator 객체를 돌려줍니다.

지정된 Provider 객체의 KeyPairGeneratorSpi 구현을 캡슐화하는 새로운 KeyPairGenerator 객체가 돌려주어집니다. 지정된 Provider 객체는, 프로바이더 리스트에 등록할 필요는 없습니다.

파라미터:
algorithm - 알고리즘의 표준명을 나타내는 캐릭터 라인 알고리즘의 표준명에 대해서는,「Java 암호화 아키텍쳐(architecture) API 스펙 & 레퍼런스」의 부록 A 를 참조
provider - 프로바이더
반환값:
새로운 KeyPairGenerator 객체
예외:
NoSuchAlgorithmException - 지정된 Provider 객체로 지정된 알고리즘의 KeyPairGeneratorSpi 구현이 없는 경우
IllegalArgumentException - 지정된 프로바이더가 null 의 경우
도입된 버젼:
1.4
관련 항목:
Provider

getProvider

public final Provider  getProvider()
이 열쇠 페어 제네레이터 객체의 프로바이더를 돌려줍니다.

반환값:
이 열쇠 페어 제네레이터 객체의 프로바이더

initialize

public void initialize(int keysize)
임의의 열쇠의 사이즈에 대한 열쇠 페어 제네레이터를 초기화합니다. 디폴트의 파라미터 세트와 random number generation의 원으로서 가장 높은 우선 순위로 인스톨 되고 있는 프로바이더의 SecureRandom 의 구현을 사용합니다. SecureRandom 를 제공하는 프로바이더가 1 개나 인스톨되어 있지 않은 경우는, 시스템이 제공하는 random number generation의 원이 사용됩니다.

파라미터:
keysize - 키사이즈계수(modulus)의 길이와 같은, bit length로 지정된 알고리즘에 특정의 시학
예외:
InvalidParameterException - 이 KeyPairGenerator 객체가 keysize 메소드를 지원하고 있지 않는 경우

initialize

public void initialize(int keysize,
                       SecureRandom  random)
임의의 키 사이즈 대하는 열쇠 페어 제네레이터를 초기화합니다. 지정된 random number generation의 원과 디폴트의 파라미터 세트를 사용합니다.

정의:
클래스 KeyPairGeneratorSpi 내의 initialize
파라미터:
keysize - 키사이즈계수(modulus)의 길이와 같은, bit length로 지정된 알고리즘에 특정의 시학
random - random number generation의 원
예외:
InvalidParameterException - 이 KeyPairGenerator 객체가 keysize 메소드를 지원하고 있지 않는 경우
도입된 버젼:
1.2

initialize

public void initialize(AlgorithmParameterSpec  params)
                throws InvalidAlgorithmParameterException 
지정된 파라미터세트와 random number generation의 원으로서 가장 높은 우선 순위로 인스톨 되고 있는 프로바이더의 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 - 지정된 파라미터가 이 열쇠 페어 제네레이터에 올바르지 않은 경우
도입된 버젼:
1.2

initialize

public void initialize(AlgorithmParameterSpec  params,
                       SecureRandom  random)
                throws InvalidAlgorithmParameterException 
지정된 파라미터 세트와 random number generation의 원을 사용해 열쇠 페어 제네레이터를 초기화합니다.

이 구상 메소드는, 사전에 정의된 이 abstract 클래스에 추가된 것입니다. 이 메소드는,paramsrandom 를 건네주어, KeyPairGeneratorSpi 클래스의 initialize 메소드를 호출합니다. 이 initialize 메소드는, 프로바이더에 의해 오버라이드(override) 되지 않는 경우는, 반드시 UnsupportedOperationException 를 throw 합니다.

오버라이드(override):
클래스 KeyPairGeneratorSpi 내의 initialize
파라미터:
params - 열쇠를 생성하기 위한 파라미터 세트
random - random number generation의 원
예외:
InvalidAlgorithmParameterException - 지정된 파라미터가 이 열쇠 페어 제네레이터에 올바르지 않은 경우
도입된 버젼:
1.2

genKeyPair

public final KeyPair  genKeyPair()
열쇠 페어를 생성합니다.

KeyPairGenerator 가 명시적으로 초기화되어 있지 않은 경우는, 프로바이더 지정된 디폴트가 생성된 열쇠의 사이즈 및 알고리즘에 특정의 값에 사용합니다.

KeyPairGenerator 는 불려 갈 때마다, 새로운 열쇠 페어를 생성합니다.

이 메소드는, 기능적으로는 generateKeyPair 와 같습니다.

반환값:
생성된 열쇠 페어
도입된 버젼:
1.2

generateKeyPair

public KeyPair  generateKeyPair()
열쇠 페어를 생성합니다.

KeyPairGenerator 가 명시적으로 초기화되어 있지 않은 경우는, 프로바이더 지정된 디폴트가 생성된 열쇠의 사이즈 및 알고리즘에 특정의 값에 사용합니다.

KeyPairGenerator 는 불려 갈 때마다, 새로운 열쇠 페어를 생성합니다.

이 메소드는, 기능적으로는 genKeyPair 와 같습니다.

정의:
클래스 KeyPairGeneratorSpi 내의 generateKeyPair
반환값:
생성된 열쇠 페어

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 도 참조해 주세요.