JCaosLib
V1.4.4.0

com.dreamsecurity.jcaos.tsp
Class TimeStampReqGenerator

java.lang.Object
  extended bycom.dreamsecurity.jcaos.tsp.TimeStampReqGenerator

public class TimeStampReqGenerator
extends java.lang.Object

시점확인 서버에 전송한 요청문을 생성하기 위한 클래스이다.

시점확인 요청문의 ASN.1 포맷은 다음과 같다.

 TimeStampReq ::= SEQUENCE  {
		version               INTEGER  { v1(1) },
		messageImprint        MessageImprint,
		--a hash algorithm OID and the hash value of the data to be
		--time-stamped
		reqPolicy             TSAPolicyId              OPTIONAL,
		nonce                 INTEGER                  OPTIONAL,
		certReq               BOOLEAN                  DEFAULT FALSE,
		extensions        [0] IMPLICIT Extensions      OPTIONAL  
 }
 

Since:
1.0.0.0

Constructor Summary
TimeStampReqGenerator()
          시점확인 요청 메시지 생성을 위한 TimeStampReqGenerator 객체를 초기화한다.
TimeStampReqGenerator(java.lang.String hashAlg)
          메시지 해쉬 알고리즘을 설정하여 시점확인 요청 메시지 생성을 위한 TimeStampReqGenerator 객체를 초기화한다.
 
Method Summary
 TimeStampReq generate()
          시점확인 요청문을 생성한다.
 SignedData generate(X509Certificate myCert, PKCS8PrivateKeyInfo myPriKey, java.lang.String hashAlg)
          시점확인 요청문에 서명을 추가하여 생성한다.
 void setCertReq(boolean val)
          시점확인 토큰 요청 시 발급되는 시점확인 토큰에 시점확인 서버 인증서 포함 여부를 설정한다.
 void setMessageToBeHashed(byte[] message)
          시점확인을 요청할 메시지를 지정한다.
 void setReqPolicy(java.lang.String policyId)
          시점확인 서버에서 시점확인 토큰 생성시 사용할 정책을 요청하기 위해 설정한다.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeStampReqGenerator

public TimeStampReqGenerator()
시점확인 요청 메시지 생성을 위한 TimeStampReqGenerator 객체를 초기화한다. 이 때 메시지 해쉬알고리즘은 "SHA1"이 사용된다.


TimeStampReqGenerator

public TimeStampReqGenerator(java.lang.String hashAlg)
메시지 해쉬 알고리즘을 설정하여 시점확인 요청 메시지 생성을 위한 TimeStampReqGenerator 객체를 초기화한다.

Parameters:
hashAlg - 해쉬 알고리즘 ("SHA1")
Method Detail

setMessageToBeHashed

public void setMessageToBeHashed(byte[] message)
                          throws java.security.NoSuchAlgorithmException,
                                 java.security.NoSuchProviderException
시점확인을 요청할 메시지를 지정한다.

Parameters:
message - 시점확인을 요청할 메시지
Throws:
java.security.NoSuchAlgorithmException - 지원하지 않는 알고리즘일 경우에 발생
java.security.NoSuchProviderException - 지원하지 않는 암호 모듈 제공자일 경우에 발생

setReqPolicy

public void setReqPolicy(java.lang.String policyId)
시점확인 서버에서 시점확인 토큰 생성시 사용할 정책을 요청하기 위해 설정한다.

Parameters:
policyId - 생성 정책 (OID)

setCertReq

public void setCertReq(boolean val)
시점확인 토큰 요청 시 발급되는 시점확인 토큰에 시점확인 서버 인증서 포함 여부를 설정한다.

Parameters:
val - 인증서 포함 여부

generate

public TimeStampReq generate()
                      throws java.io.IOException,
                             java.security.NoSuchAlgorithmException
시점확인 요청문을 생성한다. 이때 생성되는 요청문에는 서명되지 않는다.

Returns:
시점확인 요청문
Throws:
java.io.IOException - 요청문 인코딩 실패시 발생
java.security.NoSuchAlgorithmException - 지원하지 않는 알고리즘일 경우에 발생

generate

public SignedData generate(X509Certificate myCert,
                           PKCS8PrivateKeyInfo myPriKey,
                           java.lang.String hashAlg)
                    throws java.io.IOException,
                           java.security.NoSuchAlgorithmException,
                           UseOrderException,
                           AlreadyExistSignerException,
                           java.security.NoSuchProviderException,
                           java.security.InvalidKeyException,
                           java.security.SignatureException,
                           ParsingException
시점확인 요청문에 서명을 추가하여 생성한다.

Parameters:
myCert - 요청자의 서명용 인증서
myPriKey - 요청자의 서명용 개인키
hashAlg - 서명 시 사용할 해쉬 알고리즘
Returns:
시점확인 요청문
Throws:
java.io.IOException - 요청문 인코딩 실패시 발생
java.security.NoSuchAlgorithmException - 지원하지 않는 알고리즘일 경우에 발생
UseOrderException - 메소드 사용 순서가 틀린 경우에 발생
AlreadyExistSignerException - 서명 메시지에 이미 해당 사용자에 대한 서명이 있는 경우에 발생
java.security.NoSuchProviderException - 지원하지 않는 암호 모듈 제공자일 경우에 발생
java.security.InvalidKeyException - 알고리즘에 대한 적합한 키(잘못된 인코딩, 잘못된 길이, 초기화 되지 않음 등)가 아닌 경우에 발생
java.security.SignatureException - 일반적인 서명과 관련한 예외 사항 발생한 경우 발생
ParsingException - 서명자 식별자의 이름 정보에 지원하지 않은 종류가 있는 경우에 발생

JCaosLib
V1.4.4.0


Copyright ⓒ2007-2011 DreamSecurity Co.,Ltd . All rights reserved