|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjavax.crypto.KeyGenerator
public class KeyGenerator
이 클래스는, 비밀 (대칭) 열쇠 제네레이터의 기능을 제공합니다.
열쇠 제네레이터는, 이 클래스의 getInstance
클래스 메소드의 1 개를 사용해 구축됩니다.
KeyGenerator 객체는 재사용할 수 있습니다. 즉, 열쇠의 생성 후, 같은 KeyGenerator 객체를 재사용해 한층 더 열쇠를 생성할 수가 있습니다.
열쇠의 생성 방법에는, 알고리즘 독립형과 알고리즘 특정형의 2 개가 있습니다. 이 2 개(살)의 유일한 차이점은, 객체의 초기화에 있습니다.
모든 열쇠 제네레이터는, 「열쇠 사이즈」와「>random number generation의 원」이라고 하는 개념을 공유합니다. 이 KeyGenerator 클래스에는 init
메소드가 있어, 전체에 공통되는 형태의 2 개의 인수를 취합니다. 또, 인수에 keysize
만을 취해,>random number generation의 원으로서 가장 높은 우선 순위로 인스톨 되고 있는 프로바이더의 SecureRandom 의 구현을 사용하는 init 메소드 (SecureRandom 의 구현을 제공하는 프로바이더가 1 개나 인스톨되어 있지 않은 경우는, 시스템이 제공하는>random number generation의 원을 사용), 및>random number generation의 원만을 취하는 init 메소드도 있습니다.
상기의 알고리즘에 의존하지 않는 init
메소드를 호출했을 경우, 파라미터가 지정되지 않기 때문에, 각각의 열쇠에 관련한 알고리즘에 특정인 파라미터가 존재하는 경우, 이것을 어떻게 취급할까는 프로바이더에 맡습니다.
알고리즘에 특정의 파라미터가 벌써 존재하고 있는 경우는, 인수에 AlgorithmParameterSpec
를 취하는 2 종류의 init
메소드를 이용할 수 있습니다. 이 중 한편은 인수에 SecureRandom
를 취합니다만, 이제(벌써) 한편은,>random number generation의 원으로서 가장 높은 우선 순위로 인스톨 되고 있는 프로바이더의 SecureRandom 의 구현을 사용합니다 (SecureRandom 의 구현을 제공하는 프로바이더가 1 개나 인스톨되어 있지 않은 경우는, 시스템이 제공하는>random number generation의 원을 사용).
클라이언트가 (init
메소드의 호출을 개입시켜) KeyGenerator 를 명시적으로 초기화하지 않는 경우, 각 프로바이더는 디폴트의 초기화를 제공 및 문서화할 필요가 있습니다.
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 |
생성자 의 상세 |
---|
protected KeyGenerator(KeyGeneratorSpi keyGenSpi, Provider provider, String algorithm)
keyGenSpi
- delegateprovider
- 프로바이더algorithm
- 알고리즘메소드의 상세 |
---|
public final String getAlgorithm()
KeyGenerator
객체의 알고리즘명을 돌려줍니다.
이것은, 이 KeyGenerator
객체를 생성한 getInstance
호출의 1 개로 지정된 이름과 같습니다.
KeyGenerator
객체의 알고리즘명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
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
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
public final Provider getProvider()
KeyGenerator
객체의 프로바이더를 돌려줍니다.
KeyGenerator
객체의 프로바이더public final void init(SecureRandom random)
random
- 이 제네레이터의>random number generation의 원public final void init(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
이 열쇠 제네레이터가 난수 바이트를 필요로 하는 경우는, 인스톨 되고 있는 프로바이더 가운데, 가장 우선 순위의 높은 프로바이더
의 구현을>random number generation의 원으로서 사용해 난수 바이트를 가져옵니다. SecureRandom 의 구현을 제공하는 프로바이더가 인스톨되어 있지 않은 경우는, 시스템이 제공하는>random number generation의 원이 사용됩니다.
SecureRandom
params
- 열쇠 제네레이터의 파라미터
InvalidAlgorithmParameterException
- 지정된 파라미터가 이 열쇠 제네레이터에 올바르지 않은 경우public final void init(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException
params
- 열쇠 제네레이터의 파라미터random
- 이 열쇠 제네레이터의>random number generation의 원
InvalidAlgorithmParameterException
- params
가 이 열쇠 제네레이터에 올바르지 않은 경우public final void init(int keysize)
이 열쇠 제네레이터가 난수 바이트를 필요로 하는 경우는, 인스톨 되고 있는 프로바이더 가운데, 가장 우선 순위의 높은 프로바이더
의 구현을>random number generation의 원으로서 사용해 난수 바이트를 가져옵니다. SecureRandom 의 구현을 제공하는 프로바이더가 인스톨되어 있지 않은 경우는, 시스템이 제공하는>random number generation의 원이 사용됩니다.
SecureRandom
keysize
- 열쇠 사이즈. bit length로 지정된 알고리즘에 특정의 메트릭스
InvalidParameterException
- 열쇠 사이즈가 잘못되어 있는지, 지원되어 있지 않은 경우public final void init(int keysize, SecureRandom random)
keysize
- 키 사이즈 bit length로 지정된 알고리즘에 특정의 메트릭스random
- 이 열쇠 제네레이터의>random number generation의 원
InvalidParameterException
- 열쇠 사이즈가 잘못되어 있는지, 지원되어 있지 않은 경우public final SecretKey generateKey()
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.