JavaTM Platform
Standard Ed. 6

java.security
클래스 SignatureSpi

java.lang.Object 
  상위를 확장 java.security.SignatureSpi
직계의 기존의 서브 클래스:
Signature


public abstract class SignatureSpi
extends Object

Signature 클래스의 Service Provider Interface (SPI)를 정의합니다. 이것은, 디지털 서명 알고리즘의 기능을 제공하기 위해서 사용됩니다. 디지털 서명은, 인증이나 디지털 데이타의 무결성을 보증하기 위해서 사용됩니다..  

특정의 서명 알고리즘의 구현을 제공하는 각 암호 서비스 프로바이더는, 이 클래스의 모든 추상 메소드를 구현할 필요가 있습니다.

관련 항목:
Signature

필드의 개요
protected  SecureRandom appRandom
          어플리케이션 고유의 random number generation의 원입니다.
 
생성자 의 개요
SignatureSpi ()
           
 
메소드의 개요
 Object clone ()
          구현이 복제 가능한 경우는 복제를 돌려줍니다.
protected abstract  Object engineGetParameter (String  param)
          추천 되고 있지 않습니다.   
protected  AlgorithmParameters engineGetParameters ()
          이 메소드는 프로바이더에 의해 오버라이드(override) 되어 서명 엔진으로 사용된 파라미터를 돌려줍니다.
protected abstract  void engineInitSign (PrivateKey  privateKey)
          서명 객체를, 서명 조작을 위해서(때문에) 지정된 비공개키로 초기화합니다.
protected  void engineInitSign (PrivateKey  privateKey, SecureRandom  random)
          서명 객체를, 서명 조작을 위해서(때문에) 지정된 비공개키와 random number generation의 원으로 초기화합니다.
protected abstract  void engineInitVerify (PublicKey  publicKey)
          서명 객체를, 검증 조작을 위해서(때문에) 지정된 공개키로 초기화합니다.
protected  void engineSetParameter (AlgorithmParameterSpec  params)
          이 메소드는 프로바이더에 의해 오버라이드(override) 되어 서명 엔진을 지정한 파라미터 세트로 초기화합니다.
protected abstract  void engineSetParameter (String  param, Object  value)
          추천 되고 있지 않습니다.  engineSetParameter 로 옮겨놓을 수 있었습니다.
protected abstract  byte[] engineSign ()
          지금까지 갱신된 모든 데이터 가운데 서명 데이터를 돌려줍니다.
protected  int engineSign (byte[] outbuf, int offset, int len)
          서명 조작을 종료해, 결과적으로 얻을 수 있는 서명 바이트를, 지정된 버퍼 outbufoffset 로부터 포함합니다.
protected abstract  void engineUpdate (byte b)
          서명 또는 검증되는 데이터를, 지정된 바이트로 갱신합니다.
protected abstract  void engineUpdate (byte[] b, int off, int len)
          서명 또는 검증하는 데이터를, 지정된 바이트의 배열을 사용해, 지정된 오프셋(offset)로부터 갱신합니다.
protected  void engineUpdate (ByteBuffer  input)
          서명 또는 검증하는 데이터를, 지정된 ByteBuffer 를 사용해 갱신합니다.
protected abstract  boolean engineVerify (byte[] sigBytes)
          건네받은 서명을 검증합니다.
protected  boolean engineVerify (byte[] sigBytes, int offset, int length)
          지정된 오프셋(offset)로부터 개시해, 지정된 바이트 데이터의 배열이 건네받은 서명을 검증합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

필드의 상세

appRandom

protected SecureRandom  appRandom
어플리케이션 고유의 random number generation의 원입니다.

생성자 의 상세

SignatureSpi

public SignatureSpi()
메소드의 상세

engineInitVerify

protected abstract void engineInitVerify(PublicKey  publicKey)
                                  throws InvalidKeyException 
서명 객체를, 검증 조작을 위해서(때문에) 지정된 공개키로 초기화합니다.

파라미터:
publicKey - 서명이 검증되는 아이덴티티의 공개키
예외:
InvalidKeyException - 열쇠의 encode가 올바르지 않은 경우, 파라미터가 결핍 하고 있는 경우 등

engineInitSign

protected abstract void engineInitSign(PrivateKey  privateKey)
                                throws InvalidKeyException 
서명 객체를, 서명 조작을 위해서(때문에) 지정된 비공개키로 초기화합니다.

파라미터:
privateKey - 서명이 생성되는 아이덴티티의 비공개키
예외:
InvalidKeyException - 열쇠의 encode가 올바르지 않은 경우, 파라미터가 결핍 하고 있는 경우 등

engineInitSign

protected void engineInitSign(PrivateKey  privateKey,
                              SecureRandom  random)
                       throws InvalidKeyException 
서명 객체를, 서명 조작을 위해서(때문에) 지정된 비공개키와 random number generation의 원으로 초기화합니다.

이 구상 메소드는, 사전에 정의된 이 abstract 클래스에 추가된 것입니다. 하위 호환성을 위해서(때문에), abstract 메소드에는 할 수 없습니다.

파라미터:
privateKey - 서명이 생성되는 아이덴티티의 비공개키
random - 난수의 소스
예외:
InvalidKeyException - 열쇠의 encode가 올바르지 않은 경우, 파라미터가 결핍 하고 있는 경우 등

engineUpdate

protected abstract void engineUpdate(byte b)
                              throws SignatureException 
서명 또는 검증되는 데이터를, 지정된 바이트로 갱신합니다.

파라미터:
b - 갱신에 사용하는 바이트
예외:
SignatureException - 엔진이 적절히 초기화되어 있지 않은 경우

engineUpdate

protected abstract void engineUpdate(byte[] b,
                                     int off,
                                     int len)
                              throws SignatureException 
서명 또는 검증하는 데이터를, 지정된 바이트의 배열을 사용해, 지정된 오프셋(offset)로부터 갱신합니다.

파라미터:
b - 바이트의 배열
off - 바이트의 배열에서의 개시 오프셋(offset)
len - 오프셋(offset)로부터 개시해 사용되는 바이트수
예외:
SignatureException - 엔진이 적절히 초기화되어 있지 않은 경우

engineUpdate

protected void engineUpdate(ByteBuffer  input)
서명 또는 검증하는 데이터를, 지정된 ByteBuffer 를 사용해 갱신합니다. data.position() 로부터 시작되는 data.remaining() 바이트를 처리합니다. 종료시에, 버퍼의 위치는 리밋트에 동일해집니다만, 리밋트는 변경되지 않습니다.

파라미터:
input - ByteBuffer
도입된 버젼:
1.5

engineSign

protected abstract byte[] engineSign()
                              throws SignatureException 
지금까지 갱신된 모든 데이터 가운데 서명 데이터를 돌려줍니다. 서명의 형식은 기본으로 되는 서명 방식으로 의존합니다.

반환값:
서명 조작의 결과의 서명 바이트
예외:
SignatureException - 엔진이 올바르게 초기화되어 있지 않은 경우, 또는 이 서명 알고리즘이 지정된 입력 데이터를 처리할 수 없는 경우

engineSign

protected int engineSign(byte[] outbuf,
                         int offset,
                         int len)
                  throws SignatureException 
서명 조작을 종료해, 결과적으로 얻을 수 있는 서명 바이트를, 지정된 버퍼 outbufoffset 로부터 포함합니다. 서명의 형식은 기본으로 되는 서명 방식으로 의존합니다.

서명 구현은, 그 초기 상태 (engineInitSign 메소드의 1 개에 불려 간 직후 상태)에 리셋 됩니다. 리셋 된 뒤는, 같은 비공개키를 사용해 한층 더 서명을 생성하기 위해서 재사용할 수 있습니다. 이 메소드는 추상 메소드가 아니면 안됩니다만, binary level compatibility를 유지하기 위해서(때문에) 구상 메소드대로 해 둡니다. 호환성을 배려하는 프로바이더는, 이 메소드를 오버라이드(override) 해 주세요.

파라미터:
outbuf - 최종적인 서명을 포함하는 버퍼
offset - outbuf 에 서명을 포함할 때의 오프셋(offset)
len - outbuf 내에 서명용으로서 할당할 수 있는 바이트수. 이 디폴트 구현과 SUN 프로바이더는, 어느쪽이나 부분적인 다이제스트를 돌려주지 않는다. 이 파라미터의 값이 실제의 서명의 길이보다 짧은 경우, 이 메소드는 SignatureException 를 throw 한다. 이 파라미터는, 그 값이 실제의 서명의 길이보다 긴가 동일한 경우는 무시된다
반환값:
outbuf 에 포함된 바이트수
예외:
SignatureException - 엔진이 올바르게 초기화되어 있지 않은 경우, 이 서명 알고리즘이 지정된 입력 데이터를 처리할 수 없는 경우, 또는 len 가 실제의 서명의 길이보다 작은 경우
도입된 버젼:
1.2

engineVerify

protected abstract boolean engineVerify(byte[] sigBytes)
                                 throws SignatureException 
건네받은 서명을 검증합니다.

파라미터:
sigBytes - 검증 대상의 서명 바이트
반환값:
서명이 검증되었을 경우는 true, 그렇지 않은 경우는 false
예외:
SignatureException - 엔진이 올바르게 초기화되어 있지 않은 경우, 지정된 서명의 encode 방법이 올바르지 않은 경우, 지정된 서명의 형태가 부정한 경우, 이 서명 알고리즘이 지정된 입력 데이터를 처리할 수 없는 경우 등

engineVerify

protected boolean engineVerify(byte[] sigBytes,
                               int offset,
                               int length)
                        throws SignatureException 
지정된 오프셋(offset)로부터 개시해, 지정된 바이트 데이터의 배열이 건네받은 서명을 검증합니다.

주:서브 클래스는, 디폴트의 구현을 덧쓰기할 필요가 있습니다.

파라미터:
sigBytes - 검증 대상의 서명 바이트
offset - 바이트의 배열에서의 개시 오프셋(offset)
length - 오프셋(offset)로부터 개시해 사용되는 바이트수
반환값:
서명이 검증되었을 경우는 true, 그렇지 않은 경우는 false
예외:
SignatureException - 엔진이 올바르게 초기화되어 있지 않은 경우, 지정된 서명의 encode 방법이 올바르지 않은 경우, 지정된 서명의 형태가 부정한 경우, 이 서명 알고리즘이 지정된 입력 데이터를 처리할 수 없는 경우 등
도입된 버젼:
1.4

engineSetParameter

@Deprecated 
protected abstract void engineSetParameter(String  param,
                                                      Object  value)
                                    throws InvalidParameterException 
추천 되고 있지 않습니다.  engineSetParameter 로 옮겨놓을 수 있었습니다.

지정된 알고리즘 파라미터를, 지정된 값으로 설정합니다. 이 메소드는, 이 객체의 다양한 파라미터의 설정을 가능하게 하는 범용적인 기구를 제공합니다. 파라미터는, 예를 들어, 파라미터 사이즈, 서명 생성에 대한 난수 비트의 발생원 (해당하는 경우), 특정의 옵션의 계산을 실행할지 어떨지의 지시 등, 알고리즘에 대해서 설정 가능하면 어떠한 파라미터에서도 설정할 수 있습니다. 각 파라미터의 명명법은, 통일되고 있어 알고리즘에 고유하다라고 하는 것이 바람직합니다만, 현시점에서는 규정되고 있지 않습니다.

파라미터:
param - 파라미터의 캐릭터 라인 식별자
value - 파라미터치
예외:
InvalidParameterException - param 가 이 서명 알고리즘 엔진에 대해서 무효인 경우, 파라미터가 설정이 끝난 상태로 재설정할 수 없는 경우, 시큐리티 예외가 발생했을 경우 등

engineSetParameter

protected void engineSetParameter(AlgorithmParameterSpec  params)
                           throws InvalidAlgorithmParameterException 

이 메소드는 프로바이더에 의해 오버라이드(override) 되어 서명 엔진을 지정한 파라미터 세트로 초기화합니다.

파라미터:
params - 파라미터
예외:
UnsupportedOperationException - 이 메소드가 프로바이더로 오버라이드(override)되어 있지 않은 경우
InvalidAlgorithmParameterException - 이 메소드가 프로바이더로 오버라이드(override) 되지 않고, 한편 주어진 파라미터가 서명 엔진에 있어 올바르지 않은 경우

engineGetParameters

protected AlgorithmParameters  engineGetParameters()

이 메소드는 프로바이더에 의해 오버라이드(override) 되어 서명 엔진으로 사용된 파라미터를 돌려줍니다. 서명 엔진이 파라미터를 사용하지 않는 경우는 null 를 돌려줍니다.

반환된 파라미터는, 이 서명 엔진을 초기화하기 위해서 사용된 파라미터와 같게 되는 일이 있습니다. 혹은, 이 서명 엔진이 알고리즘 파라미터를 요구해도, 어느 알고리즘 파라미터에서도 초기화되지 않았던 경우에는, 반환된 파라미터에는, 기본으로 되는 서명의 구현으로 사용되는 디폴트의 파라미터치와 랜덤에 생성된 파라미터치의 편성이 포함되는 일이 있습니다.

반환값:
이 서명 엔진으로 사용된 파라미터. 이 서명 엔진이 파라미터를 사용하지 않는 경우는 null
예외:
UnsupportedOperationException - 이 메소드가 프로바이더로 오버라이드(override)되어 있지 않은 경우
도입된 버젼:
1.4

engineGetParameter

@Deprecated 
protected abstract Object  engineGetParameter(String  param)
                                      throws InvalidParameterException 
추천 되고 있지 않습니다.  

지정된 알고리즘 파라미터의 값을 가져옵니다. 이 메소드는, 이 객체의 다양한 파라미터의 설정을 가능하게 하는 범용적인 기구를 제공합니다. 파라미터는, 예를 들어, 파라미터 사이즈, 서명 생성에 대한 난수 비트의 발생원 (해당하는 경우), 특정의 옵션의 계산을 실행할지 어떨지의 지시 등, 알고리즘에 대해서 설정 가능하면 어떠한 파라미터에서도 설정할 수 있습니다. 각 파라미터의 명명법은, 통일되고 있어 알고리즘에 고유하다라고 하는 것이 바람직합니다만, 현시점에서는 규정되고 있지 않습니다.

파라미터:
param - 파라미터의 캐릭터 라인명
반환값:
파라미터치를 표현하는 객체. 존재하지 않는 경우는 null
예외:
InvalidParameterException - param 가 이 엔진에 대해서 무효인 파라미터인 경우, 또는 이 파라미터를 취득하려고 하고 있는 동안에 다른 예외가 발생했을 경우

clone

public Object  clone()
             throws CloneNotSupportedException 
구현이 복제 가능한 경우는 복제를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 clone
반환값:
구현이 복제 가능한 경우는 복제
예외:
CloneNotSupportedException - Cloneable 를 지원하고 있지 않는 구현으로 불려 갔을 경우
관련 항목:
Cloneable

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