|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
java.lang.Objectjavax.crypto.KeyAgreementSpi
public abstract class KeyAgreementSpi
이 클래스는,KeyAgreement 클래스의 Service Provider Interface (SPI)를 정의합니다. 특정의 열쇠 합의 알고리즘의 구현을 제공하는 각 암호화 서비스 프로바이더는, 이 클래스의 모든 추상 메소드를 구현할 필요가 있습니다.
공유의 비밀 정보의 확립에 관계하는 열쇠는, 열쇠 제네레이터 (KeyPairGenerator 또는 KeyGenerator)의 1 개, 또는 KeyFactory 에 의해, 혹은 열쇠 합의 프로토콜 (engineDoPhase )의 중간 단계의 결과로서 작성됩니다.
열쇠 교환의 대응 관계 마다,engineDoPhase 를 호출할 필요가 있습니다. 예를 들어, 열쇠 교환의 상대가 1 개의 경우는,lastPhase 플래그를 true 로 설정해 engineDoPhase 를 1 회 호출할 필요가 있습니다. 열쇠 교환의 상대가 2 개의 경우는, 처음은 lastPhase 플래그를 false 로 설정해, 2 번째는 true 로 설정해,engineDoPhase 를 2 회 호출할 필요가 있습니다. 열쇠 교환의 상대의 수는 임의입니다.
KeyGenerator ,
SecretKey | 생성자 의 개요 | |
|---|---|
KeyAgreementSpi ()
|
|
| 메소드의 개요 | |
|---|---|
protected abstract Key |
engineDoPhase (Key key,
boolean lastPhase)
이 열쇠 합의에 관계하는 상대의 누군가로부터 받은, 지정된 열쇠를 사용해 이 열쇠 합의의 다음의 단계를 실행합니다. |
protected abstract byte[] |
engineGenerateSecret ()
공유의 비밀 정보를 생성해 새로운 버퍼내에 돌려줍니다. |
protected abstract int |
engineGenerateSecret (byte[] sharedSecret,
int offset)
공유의 비밀 정보를 생성해, offset 로부터 시작되는 sharedSecret 버퍼내에 포함합니다. |
protected abstract SecretKey |
engineGenerateSecret (String algorithm)
공유의 비밀 정보를 작성해, 그것이 요구된 알고리즘형의 비밀열쇠 객체로서 돌려줍니다. |
protected abstract void |
engineInit (Key key,
AlgorithmParameterSpec params,
SecureRandom random)
지정된 열쇠, 알고리즘 파라미터세트, 및 random number generation의 원을 사용해 이 열쇠 합의를 초기화합니다. |
protected abstract void |
engineInit (Key key,
SecureRandom random)
지정된 열쇠와 random number generation의 원으로 이 열쇠 합의를 초기화합니다. |
| 클래스 java.lang. Object 로부터 상속된 메소드 |
|---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
| 생성자 의 상세 |
|---|
public KeyAgreementSpi()
| 메소드의 상세 |
|---|
protected abstract void engineInit(Key key,
SecureRandom random)
throws InvalidKeyException
열쇠 합의 알고리즘이 난수 바이트를 필요로 하는 경우는, 지정된 random number generation의 원 random 로부터 가져옵니다. 다만, 기본이 되는 알고리즘 구현이 난수 바이트를 필요로 하지 않는 경우,random 는 무시됩니다.
key - 당사자의 비공개 정보. 예를 들어, Diffie-Hellman 의 열쇠 합의의 경우는, 당사자 자신의 Diffie-Hellman 비공개키random - random number generation의 원
InvalidKeyException - 지정된 열쇠가 이 열쇠 합의에 올바르지 않은 경우. 예를 들어, 형태가 잘못되어 있는 경우, 또는 알고리즘의 형태에 호환성이 없는 경우
protected abstract void engineInit(Key key,
AlgorithmParameterSpec params,
SecureRandom random)
throws InvalidKeyException ,
InvalidAlgorithmParameterException
key - 당사자의 비공개 정보. 예를 들어, Diffie-Hellman 의 열쇠 합의의 경우는, 당사자 자신의 Diffie-Hellman 비공개키params - 열쇠 합의 파라미터random - random number generation의 원
InvalidKeyException - 지정된 열쇠가 이 열쇠 합의에 올바르지 않은 경우. 예를 들어, 형태가 잘못되어 있는 경우, 또는 알고리즘의 형태에 호환성이 없는 경우
InvalidAlgorithmParameterException - 지정된 파라미터가 이 열쇠 합의에 올바르지 않은 경우
protected abstract Key engineDoPhase(Key key,
boolean lastPhase)
throws InvalidKeyException ,
IllegalStateException
key - 이 단계의 열쇠. 예를 들어, 2 당사자 사이의 Diffie-Hellman 의 경우는, 상대의 Diffie-Hellman 공개키lastPhase - 이것이 이 열쇠 합의의 마지막 단계인가 어떤가를 나타내는 플래그
InvalidKeyException - 지정된 열쇠가 이 단계에 올바르지 않은 경우
IllegalStateException - 이 열쇠 합의가 초기화되어 있지 않은 경우
protected abstract byte[] engineGenerateSecret()
throws IllegalStateException
이 메소드는, 이 KeyAgreementSpi 객체를 리셋 하므로, 게다가 다른 열쇠 합의에 재사용할 수 있습니다. 이 열쇠 합의가 engineInit 메소드의 1 개로 재초기화되지 않는 경우, 그 후의 열쇠 합의에서는, 같은 비공개 정보와 알고리즘 파라미터가 사용됩니다.
IllegalStateException - 이 열쇠 합의가 아직 완료하고 있지 않는 경우
protected abstract int engineGenerateSecret(byte[] sharedSecret,
int offset)
throws IllegalStateException ,
ShortBufferException
offset 로부터 시작되는 sharedSecret 버퍼내에 포함합니다.
sharedSecret 버퍼가 너무 작아 결과를 보관 유지할 수 없는 경우는,ShortBufferException 가 throw 됩니다. 이 경우, 보다 큰 출력 버퍼를 사용해 이 호출을 반복합니다.
이 메소드는, 이 KeyAgreementSpi 객체를 리셋 하므로, 게다가 다른 열쇠 합의에 재사용할 수 있습니다. 이 열쇠 합의가 engineInit 메소드의 1 개로 재초기화되지 않는 경우, 그 후의 열쇠 합의에서는, 같은 비공개 정보와 알고리즘 파라미터가 사용됩니다.
sharedSecret - 공유의 비밀 정보를 포함하는 버퍼offset - 공유의 비밀 정보가 포함되는 sharedSecret 내의 오프셋(offset)
sharedSecret 에 포함된 바이트수
IllegalStateException - 이 열쇠 합의가 아직 완료하고 있지 않는 경우
ShortBufferException - 지정된 출력 버퍼가 너무 작아 비밀 정보를 보관 유지할 수 없는 경우
protected abstract SecretKey engineGenerateSecret(String algorithm)
throws IllegalStateException ,
NoSuchAlgorithmException ,
InvalidKeyException
이 메소드는, 이 KeyAgreementSpi 객체를 리셋 하므로, 게다가 다른 열쇠 합의에 재사용할 수 있습니다. 이 열쇠 합의가 engineInit 메소드의 1 개로 재초기화되지 않는 경우, 그 후의 열쇠 합의에서는, 같은 비공개 정보와 알고리즘 파라미터가 사용됩니다.
algorithm - 요구된 비밀열쇠 알고리즘
IllegalStateException - 이 열쇠 합의가 아직 완료하고 있지 않는 경우
NoSuchAlgorithmException - 요구된 비밀열쇠 알고리즘이 없는 경우
InvalidKeyException - 공유의 비밀열쇠 데이터를 사용해, 요구된 알고리즘형의 비밀열쇠를 생성할 수 없는 경우 (열쇠 데이터가 너무 짧은 등)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
| 개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.