|
JavaTM 2 Platform Std. Ed. v1. 4.0 |
||||||||||
전의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 모든 클래스 | ||||||||||
개요: 상자 | 필드 | constructor | 메소드 | 상세: 필드 | constructor | 메소드 |
java.lang.Object | +--javax.crypto.KeyAgreement
이 클래스는 열쇠의 합의 프로토콜, 즉 열쇠의 교환 프로토콜의 기능을 제공합니다. 공유의 비밀 정보의 확립에 관련하는 열쇠는 열쇠 제네레이터 (KeyPairGenerator
또는 KeyGenerator
)의 어떤 것인가, 또는 KeyFactory
에 의해, 혹은 열쇠 합의 프로토콜의 중간 단계의 결과로서 생성됩니다. 열쇠 교환의 대응 관계 마다,doPhase
를 호출할 필요가 있습니다. 예를 들어, 열쇠 교환의 상대가 1 개의 경우는 lastPhase
플래그를 true
로 설정해 doPhase
를 1 회 호출할 필요가 있습니다. 열쇠 교환의 상대가 2 개의 경우는 처음은 lastPhase
플래그를 false
로 설정해, 2 번째는 true
로 설정해,doPhase
를 2 회 호출할 필요가 있습니다. 열쇠 교환의 상대의 수는 임의입니다.
KeyGenerator
,
SecretKey
생성자의 개요 | |
protected |
KeyAgreement (KeyAgreementSpi keyAgreeSpi,
Provider provider,
String algorithm)
KeyAgreement 오브젝트를 작성합니다. |
메소드의 개요 | |
Key |
doPhase (Key key,
boolean lastPhase)
이 열쇠 합의에 관계하는 상대의 누군가로부터 받은 지정된 열쇠를 사용해 이 열쇠 합의의 다음의 단계를 실행합니다. |
byte[] |
generateSecret ()
공유의 비밀 정보를 생성해 새로운 버퍼내에 돌려줍니다. |
int |
generateSecret (byte[] sharedSecret,
int offset)
공유의 비밀 정보를 생성해, offset 로부터 시작되는 sharedSecret 버퍼내에 저장합니다.
|
SecretKey |
generateSecret (String algorithm)
공유의 비밀 정보를 작성해, 그것이 지정된 알고리즘의 SecretKey 오브젝트로서 돌려줍니다.
|
String |
getAlgorithm ()
이 KeyAgreement 오브젝트의 알고리즘명을 돌려줍니다.
|
static KeyAgreement |
getInstance (String algorithm)
지정된 열쇠 합의 알고리즘을 구현하는 KeyAgreement 오브젝트를 작성합니다. |
static KeyAgreement |
getInstance (String algorithm,
Provider provider)
지정된 프로바이더로부터, 지정된 열쇠 합의 알고리즘의 KeyAgreement 오브젝트를 생성합니다. |
static KeyAgreement |
getInstance (String algorithm,
String provider)
지정된 프로바이더로부터, 지정된 열쇠 합의 알고리즘의 KeyAgreement 오브젝트를 작성합니다. |
Provider |
getProvider ()
이 KeyAgreement 오브젝트의 프로바이더를 돌려줍니다. |
void |
init (Key key)
지정된 열쇠로 이 열쇠 합의를 초기화합니다. |
void |
init (Key key,
AlgorithmParameterSpec params)
지정된 열쇠와 알고리즘 파라미터세트를 사용해 이 열쇠 합의를 초기화합니다. |
void |
init (Key key,
AlgorithmParameterSpec params,
SecureRandom random)
지정된 열쇠, 알고리즘 파라미터세트, 및 난수의 발생원을 사용해 이 열쇠 합의를 초기화합니다. |
void |
init (Key key,
SecureRandom random)
지정된 열쇠와 난수의 발생원으로 이 열쇠 합의를 초기화합니다. |
클래스 java.lang. Object 에서 상속받은 메소드 |
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
생성자의 상세 |
protected KeyAgreement(KeyAgreementSpi keyAgreeSpi, Provider provider, String algorithm)
keyAgreeSpi
- delegate처provider
- 프로바이더algorithm
- 알고리즘메소드의 상세 |
public final String getAlgorithm()
KeyAgreement
오브젝트의 알고리즘명을 돌려줍니다.
이것은 이 KeyAgreement
오브젝트를 작성한 getInstance
호출의 1 개로 지정된 이름과 같습니다.
KeyAgreement
오브젝트의 알고리즘명public static final KeyAgreement getInstance(String algorithm) throws NoSuchAlgorithmException
KeyAgreement
오브젝트를 작성합니다. 디폴트의 프로바이더의 패키지가, 요구된 열쇠 합의 알고리즘의 구현을 제공하고 있는 경우는 그 구현을 가진 KeyAgreement
클래스의 인스턴스가 돌려주어집니다. 알고리즘이 디폴트의 패키지로 얻을 수 없는 경우는 다른 프로바이더 패키지가 검색됩니다.
algorithm
- 요구된 열쇠 합의 알고리즘의 표준적인 이름. 알고리즘의 표준명에 대해서는 「Java 암호화 아키텍쳐 API 의 사양 및 레퍼런스」의 부록 A 를 참조
KeyAgreement
오브젝트
NoSuchAlgorithmException
- 지정된 알고리즘이, 디폴트의 프로바이더 패키지에도, 검색한 것 외의 프로바이더 패키지에도 없는 경우public static final KeyAgreement getInstance(String algorithm, String provider) throws NoSuchAlgorithmException , NoSuchProviderException
KeyAgreement
오브젝트를 작성합니다.
algorithm
- 요구된 열쇠 합의 알고리즘의 표준적인 이름. 알고리즘의 표준명에 대해서는 「Java 암호화 아키텍쳐 API 의 사양 및 레퍼런스」의 부록 A 를 참조provider
- 프로바이더명
KeyAgreement
오브젝트
NoSuchAlgorithmException
- 지정된 프로바이더로 지정된 알고리즘이 없는 경우
NoSuchProviderException
- 지정된 프로바이더가 설정되어 있지 않은 경우
IllegalArgumentException
- provider
가 null 의 경우public static final KeyAgreement getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
KeyAgreement
오브젝트를 생성합니다. provider
는 등록되어 있을 필요는 없는 것에 주의해 주세요.
algorithm
- 요구된 열쇠 합의 알고리즘의 표준적인 이름. 알고리즘의 표준명에 대해서는 「Java 암호화 아키텍쳐 API 의 사양 및 레퍼런스」의 부록 A 를 참조provider
- 프로바이더
KeyAgreement
오브젝트
NoSuchAlgorithmException
- 지정된 프로바이더로 지정된 알고리즘이 없는 경우
IllegalArgumentException
- provider
가 null 의 경우public final Provider getProvider()
KeyAgreement
오브젝트의 프로바이더를 돌려줍니다.
KeyAgreement
오브젝트의 프로바이더public final void init(Key key) throws InvalidKeyException
이 열쇠 합의가 난수 바이트를 필요로 하는 경우는 인스톨 되고 있는 프로바이더 가운데, 가장 우선 순위의 높은 프로바이더의
의 구현을 난수의 발생원으로서 사용해 난수 바이트를 취득합니다. SecureRandom 의 구현을 제공하는 프로바이더가 인스톨되어 있지 않은 경우는 시스템이 제공하는 난수의 발생원이 사용됩니다.
SecureRandom
key
- 당사자의 비공개 정보. 예를 들어, Diffie-Hellman 의 열쇠 합의의 경우는 당사자 자신의 Diffie-Hellman 비공개열쇠
InvalidKeyException
- 지정된 열쇠가 이 열쇠 합의에 부적절한 경우. 예를 들어, 형태가 잘못되어 있는 경우, 또는 알고리즘의 형태에 호환성이 없는 경우public final void init(Key key, SecureRandom random) throws InvalidKeyException
열쇠 합의 알고리즘이 난수 바이트를 필요로 하는 경우는 지정된 난수의 발생원 random
로부터 취득합니다. 다만, 기본이 되는 알고리즘 구현이 난수 바이트를 필요로 하지 않는 경우,random
는 무시됩니다.
key
- 당사자의 비공개 정보. 예를 들어, Diffie-Hellman 의 열쇠 합의의 경우는 당사자 자신의 Diffie-Hellman 비공개열쇠random
- 난수의 발생원
InvalidKeyException
- 지정된 열쇠가 이 열쇠 합의에 부적절한 경우. 예를 들어, 형태가 잘못되어 있는 경우, 또는 알고리즘의 형태에 호환성이 없는 경우public final void init(Key key, AlgorithmParameterSpec params) throws InvalidKeyException , InvalidAlgorithmParameterException
이 열쇠 합의가 난수 바이트를 필요로 하는 경우는 인스톨 되고 있는 프로바이더 가운데, 가장 우선 순위의 높은 프로바이더의
의 구현을 난수의 발생원으로서 사용해 난수 바이트를 취득합니다. SecureRandom 의 구현을 제공하는 프로바이더가 인스톨되어 있지 않은 경우는 시스템이 제공하는 난수의 발생원이 사용됩니다.
SecureRandom
key
- 당사자의 비공개 정보. 예를 들어, Diffie-Hellman 의 열쇠 합의의 경우는 당사자 자신의 Diffie-Hellman 비공개열쇠params
- 열쇠 합의 파라미터
InvalidKeyException
- 지정된 열쇠가 이 열쇠 합의에 부적절한 경우. 예를 들어, 형태가 잘못되어 있는 경우, 또는 알고리즘의 형태에 호환성이 없는 경우
InvalidAlgorithmParameterException
- 지정된 파라미터가 이 열쇠 합의에 부적절한 경우public final void init(Key key, AlgorithmParameterSpec params, SecureRandom random) throws InvalidKeyException , InvalidAlgorithmParameterException
key
- 당사자의 비공개 정보. 예를 들어, Diffie-Hellman 의 열쇠 합의의 경우는 당사자 자신의 Diffie-Hellman 비공개열쇠params
- 열쇠 합의 파라미터random
- 난수의 발생원
InvalidKeyException
- 지정된 열쇠가 이 열쇠 합의에 부적절한 경우. 예를 들어, 형태가 잘못되어 있는 경우, 또는 알고리즘의 형태에 호환성이 없는 경우
InvalidAlgorithmParameterException
- 지정된 파라미터가 이 열쇠 합의에 부적절한 경우public final Key doPhase(Key key, boolean lastPhase) throws InvalidKeyException , IllegalStateException
key
- 이 단계의 열쇠. 예를 들어, 2 당사자 사이의 Diffie-Hellman 의 경우는 상대의 Diffie-Hellman 공개열쇠lastPhase
- 이것이 이 열쇠 합의의 마지막 단계인가 어떤가를 나타내는 플래그
InvalidKeyException
- 지정된 열쇠가 이 단계에 부적절한 경우
IllegalStateException
- 이 열쇠 합의가 초기화되어 있지 않은 경우public final byte[] generateSecret() throws IllegalStateException
이 메소드는 이 KeyAgreement
오브젝트를 리셋트 하므로, 게다가 다른 열쇠 합의에 재사용할 수 있습니다. 이 열쇠 합의가 init
메소드의 1 개로 재초기화되지 않는 경우, 그 후의 열쇠 합의에서는 같은 비공개 정보와 알고리즘 파라미터가 사용됩니다.
IllegalStateException
- 이 열쇠 합의가 아직 완료하고 있지 않는 경우public final int generateSecret(byte[] sharedSecret, int offset) throws IllegalStateException , ShortBufferException
offset
로부터 시작되는 sharedSecret
버퍼내에 저장합니다.
sharedSecret
버퍼가 너무 작아 결과를 보관 유지할 수 없는 경우는 ShortBufferException
가 슬로우 됩니다. 이 경우, 보다 큰 출력 버퍼를 사용해 이 호출을 반복합니다.
이 메소드는 이 KeyAgreement
오브젝트를 리셋트 하므로, 게다가 다른 열쇠 합의에 재사용할 수 있습니다. 이 열쇠 합의가 init
메소드의 1 개로 재초기화되지 않는 경우, 그 후의 열쇠 합의에서는 같은 비공개 정보와 알고리즘 파라미터가 사용됩니다.
sharedSecret
- 공유의 비밀 정보를 저장하는 버퍼offset
- 공유의 비밀 정보가 저장되는 sharedSecret
내의 오프셋(offset)
sharedSecret
에 저장된 바이트수
IllegalStateException
- 이 열쇠 합의가 아직 완료하고 있지 않는 경우
ShortBufferException
- 지정된 출력 버퍼가 너무 작아 비밀 정보를 보관 유지할 수 없는 경우public final SecretKey generateSecret(String algorithm) throws IllegalStateException , NoSuchAlgorithmException , InvalidKeyException
SecretKey
오브젝트로서 돌려줍니다.
이 메소드는 이 KeyAgreement
오브젝트를 리셋트 하므로, 게다가 다른 열쇠 합의에 재사용할 수 있습니다. 이 열쇠 합의가 init
메소드의 1 개로 재초기화되지 않는 경우, 그 후의 열쇠 합의에서는 같은 비공개 정보와 알고리즘 파라미터가 사용됩니다.
algorithm
- 요구된 비밀열쇠 알고리즘
IllegalStateException
- 이 열쇠 합의가 아직 완료하고 있지 않는 경우
NoSuchAlgorithmException
- 지정된 비밀열쇠 알고리즘이 없는 경우
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.