JavaTM Platform
Standard Ed. 6

javax.crypto
클래스 KeyGenerator

java.lang.Object 
  상위를 확장 javax.crypto.KeyGenerator


public class KeyGenerator
extends Object

이 클래스는, 비밀 (대칭) 열쇠 제네레이터의 기능을 제공합니다.

열쇠 제네레이터는, 이 클래스의 getInstance 클래스 메소드의 1 개를 사용해 구축됩니다.

KeyGenerator 객체는 재사용할 수 있습니다. 즉, 열쇠의 생성 후, 같은 KeyGenerator 객체를 재사용해 한층 더 열쇠를 생성할 수가 있습니다.

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

클라이언트가 (init 메소드의 호출을 개입시켜) KeyGenerator 를 명시적으로 초기화하지 않는 경우, 각 프로바이더는 디폴트의 초기화를 제공 및 문서화할 필요가 있습니다.

도입된 버젼:
1.4
관련 항목:
SecretKey

생성자 의 개요
protected KeyGenerator (KeyGeneratorSpi  keyGenSpi, Provider  provider, String  algorithm)
          KeyGenerator 객체를 생성합니다.
 
메소드의 개요
 SecretKey generateKey ()
          비밀열쇠를 생성합니다.
 String getAlgorithm ()
          이 KeyGenerator 객체의 알고리즘명을 돌려줍니다.
static KeyGenerator getInstance (String  algorithm)
          지정된 알고리즘의 비밀열쇠를 생성하는 KeyGenerator 객체를 돌려줍니다.
static KeyGenerator getInstance (String  algorithm, Provider  provider)
          지정된 알고리즘의 비밀열쇠를 생성하는 KeyGenerator 객체를 돌려줍니다.
static KeyGenerator getInstance (String  algorithm, String  provider)
          지정된 알고리즘의 비밀열쇠를 생성하는 KeyGenerator 객체를 돌려줍니다.
 Provider getProvider ()
          이 KeyGenerator 객체의 프로바이더를 돌려줍니다.
 void init (AlgorithmParameterSpec  params)
          이 열쇠 제네레이터를, 지정된 파라미터 세트를 사용해 초기화합니다.
 void init (AlgorithmParameterSpec  params, SecureRandom  random)
          지정된 파라미터 세트와 사용자가 제공하는>random number generation의 원을 사용해, 이 열쇠 제네레이터를 초기화합니다.
 void init (int keysize)
          이 열쇠 제네레이터를 특정의 열쇠 사이즈에 응해 초기화합니다.
 void init (int keysize, SecureRandom  random)
          사용자가 제공하는>random number generation의 원을 사용해, 이 열쇠 제네레이터를 특정의 열쇠 사이즈에 응해 초기화합니다.
 void init (SecureRandom  random)
          이 열쇠 제네레이터를 초기화합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

KeyGenerator

protected KeyGenerator(KeyGeneratorSpi  keyGenSpi,
                       Provider  provider,
                       String  algorithm)
KeyGenerator 객체를 생성합니다.

파라미터:
keyGenSpi - delegate
provider - 프로바이더
algorithm - 알고리즘
메소드의 상세

getAlgorithm

public final String  getAlgorithm()
KeyGenerator 객체의 알고리즘명을 돌려줍니다.

이것은, 이 KeyGenerator 객체를 생성한 getInstance 호출의 1 개로 지정된 이름과 같습니다.

반환값:
KeyGenerator 객체의 알고리즘명

getInstance

public static final KeyGenerator  getInstance(String  algorithm)
                                      throws NoSuchAlgorithmException 
지정된 알고리즘의 비밀열쇠를 생성하는 KeyGenerator 객체를 돌려줍니다.

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

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

파라미터:
algorithm - 요구된 열쇠 알고리즘의 표준명 표준의 알고리즘명에 대해서는, 「Java 암호화 아키텍쳐(architecture) 레퍼런스 가이드」의 부록 A 를 참조
반환값:
새로운 KeyGenerator 객체
예외:
NullPointerException - 지정된 알고리즘이 null 인 경우
NoSuchAlgorithmException - 지정한 알고리즘의 KeyGeneratorSpi 구현을 지원하는 프로바이더가 존재하지 않는 경우
관련 항목:
Provider

getInstance

public static final KeyGenerator  getInstance(String  algorithm,
                                             String  provider)
                                      throws NoSuchAlgorithmException ,
                                             NoSuchProviderException 
지정된 알고리즘의 비밀열쇠를 생성하는 KeyGenerator 객체를 돌려줍니다.

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

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

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

getInstance

public static final KeyGenerator  getInstance(String  algorithm,
                                             Provider  provider)
                                      throws NoSuchAlgorithmException 
지정된 알고리즘의 비밀열쇠를 생성하는 KeyGenerator 객체를 돌려줍니다.

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

파라미터:
algorithm - 요구된 열쇠 알고리즘의 표준명 표준의 알고리즘명에 대해서는, 「Java 암호화 아키텍쳐(architecture) 레퍼런스 가이드」의 부록 A 를 참조
provider - 프로바이더
반환값:
새로운 KeyGenerator 객체
예외:
NullPointerException - 지정된 알고리즘이 null 인 경우
NoSuchAlgorithmException - 지정된 Provider 객체로 지정된 알고리즘의 KeyGeneratorSpi 의 구현이 없는 경우
IllegalArgumentException - provider 가 null 의 경우
관련 항목:
Provider

getProvider

public final Provider  getProvider()
KeyGenerator 객체의 프로바이더를 돌려줍니다.

반환값:
KeyGenerator 객체의 프로바이더

init

public final void init(SecureRandom  random)
이 열쇠 제네레이터를 초기화합니다.

파라미터:
random - 이 제네레이터의>random number generation의 원

init

public final void init(AlgorithmParameterSpec  params)
                throws InvalidAlgorithmParameterException 
이 열쇠 제네레이터를, 지정된 파라미터 세트를 사용해 초기화합니다.

이 열쇠 제네레이터가 난수 바이트를 필요로 하는 경우는, 인스톨 되고 있는 프로바이더 가운데, 가장 우선 순위의 높은 프로바이더 SecureRandom 의 구현을>random number generation의 원으로서 사용해 난수 바이트를 가져옵니다. SecureRandom 의 구현을 제공하는 프로바이더가 인스톨되어 있지 않은 경우는, 시스템이 제공하는>random number generation의 원이 사용됩니다.

파라미터:
params - 열쇠 제네레이터의 파라미터
예외:
InvalidAlgorithmParameterException - 지정된 파라미터가 이 열쇠 제네레이터에 올바르지 않은 경우

init

public final void init(AlgorithmParameterSpec  params,
                       SecureRandom  random)
                throws InvalidAlgorithmParameterException 
지정된 파라미터 세트와 사용자가 제공하는>random number generation의 원을 사용해, 이 열쇠 제네레이터를 초기화합니다.

파라미터:
params - 열쇠 제네레이터의 파라미터
random - 이 열쇠 제네레이터의>random number generation의 원
예외:
InvalidAlgorithmParameterException - params 가 이 열쇠 제네레이터에 올바르지 않은 경우

init

public final void init(int keysize)
이 열쇠 제네레이터를 특정의 열쇠 사이즈에 응해 초기화합니다.

이 열쇠 제네레이터가 난수 바이트를 필요로 하는 경우는, 인스톨 되고 있는 프로바이더 가운데, 가장 우선 순위의 높은 프로바이더 SecureRandom 의 구현을>random number generation의 원으로서 사용해 난수 바이트를 가져옵니다. SecureRandom 의 구현을 제공하는 프로바이더가 인스톨되어 있지 않은 경우는, 시스템이 제공하는>random number generation의 원이 사용됩니다.

파라미터:
keysize - 열쇠 사이즈. bit length로 지정된 알고리즘에 특정의 메트릭스
예외:
InvalidParameterException - 열쇠 사이즈가 잘못되어 있는지, 지원되어 있지 않은 경우

init

public final void init(int keysize,
                       SecureRandom  random)
사용자가 제공하는>random number generation의 원을 사용해, 이 열쇠 제네레이터를 특정의 열쇠 사이즈에 응해 초기화합니다.

파라미터:
keysize - 키 사이즈 bit length로 지정된 알고리즘에 특정의 메트릭스
random - 이 열쇠 제네레이터의>random number generation의 원
예외:
InvalidParameterException - 열쇠 사이즈가 잘못되어 있는지, 지원되어 있지 않은 경우

generateKey

public final SecretKey  generateKey()
비밀열쇠를 생성합니다.

반환값:
새로운 열쇠

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