Package com.penta.sdk.cms
Class IssacCMS
- java.lang.Object
-
- com.penta.sdk.cms.IssacCMS
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public class IssacCMS extends java.lang.Object implements java.io.CloseablePKCS#7 (CMS)
-
-
Field Summary
Fields Modifier and Type Field Description static intHAS160static intMD5static intSHA1static intSHA256static intSHA384static intSHA512static intSID_ISSUER_AND_SERIAL메시지 생성 시 사용된 서명자를 특정하기 위한 방법 - IssuerName and Serial : 유일 인증서static intSID_SKID메시지 생성 시 사용된 서명자를 특정하기 위한 방법 - Subject Key IDentifier : 공개키가 동일한 인증서
-
Constructor Summary
Constructors Constructor Description IssacCMS()생성자
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()이 CMS를 메모리에서 삭제한다.byte[]GetOriginalMessage()서명 원문 메시지를 가져온다.IssacCERTIFICATEGetSignerCert(int signerIndex)서명자의 인증서를 가져온다.intGetSignerCount()전체 서명자 수를 가져온다.intGetSignerIdentifierType(int signerIndex)서명자 구분에 사용되는 방식을 가져온다.java.lang.StringGetSignerInfoIssuer(int signerIndex)서명자의 인증서 발급자 DN을 가져온다.byte[]GetSignerInfoSerial(int signerIndex)서명자의 인증서 일련번호(Serial Number)를 가져온다.byte[]GetSignerInfoSKID(int signerIndex)서명자의 공개키 해시값(Subject Key IDentifier)을 가져온다.java.util.DateGetSignTime(int signerIndex)서명한 시간을 가져온다.static byte[]MakeSignedData(byte[] message, IssacPRIVATEKEY signerPriKey, IssacCERTIFICATE signerCert, java.util.Date signTime, int hashNid)PKCS#7 서명 메시지를 생성한다.voidRead_Memory(byte[] buffer)바이트 배열로부터 CMS를 읽어들인다. buffer에는 DER인코딩 되어 있는 바이너리정보가 들어 있다.booleanSignedBetween(int signerIndex, java.util.Date from, java.util.Date to)서명한 시간이 지정한 범위에 포함되는 지를 확인한다.voidVerifySign(int signerIndex)서명값을 검증한다.voidVerifySign(IssacCERTIFICATE signerCert)서명값을 검증한다.static intVerifySignedData(byte[] cms)PKCS#7 서명 메시지를 검증한다.byte[]Write_Memory()CMS를 바이트 배열로 옮긴다.
-
-
-
Field Detail
-
SHA1
public static final int SHA1
- See Also:
- Constant Field Values
-
SHA256
public static final int SHA256
- See Also:
- Constant Field Values
-
SHA384
public static final int SHA384
- See Also:
- Constant Field Values
-
SHA512
public static final int SHA512
- See Also:
- Constant Field Values
-
HAS160
public static final int HAS160
- See Also:
- Constant Field Values
-
MD5
public static final int MD5
- See Also:
- Constant Field Values
-
SID_ISSUER_AND_SERIAL
public static final int SID_ISSUER_AND_SERIAL
메시지 생성 시 사용된 서명자를 특정하기 위한 방법 - IssuerName and Serial : 유일 인증서- See Also:
- Constant Field Values
-
SID_SKID
public static final int SID_SKID
메시지 생성 시 사용된 서명자를 특정하기 위한 방법 - Subject Key IDentifier : 공개키가 동일한 인증서- See Also:
- Constant Field Values
-
-
Constructor Detail
-
IssacCMS
public IssacCMS() throws IssacSDKException생성자Note: 사용이 끝나면 close()를 호출해야 한다.
- Throws:
IssacSDKException- 오류 발생- See Also:
close()
-
-
Method Detail
-
Read_Memory
public void Read_Memory(byte[] buffer) throws IssacSDKException바이트 배열로부터 CMS를 읽어들인다. buffer에는 DER인코딩 되어 있는 바이너리정보가 들어 있다.- Parameters:
buffer- [IN] CMS 가 포함된 바이트 배열- Throws:
IssacSDKException- 오류 발생- See Also:
Write_Memory()
-
Write_Memory
public byte[] Write_Memory() throws IssacSDKExceptionCMS를 바이트 배열로 옮긴다. 메모리에 저장되는 CMS는 DER인코딩된 바이너리 정보이다.- Returns:
- CMS가 저장된 바이트 배열
- Throws:
IssacSDKException- 오류 발생- See Also:
Read_Memory(byte[])
-
GetSignTime
public java.util.Date GetSignTime(int signerIndex) throws IssacSDKException서명한 시간을 가져온다.- Parameters:
signerIndex- [IN] 서명자 정보의 인덱스- Returns:
- 서명한 시간
- Throws:
IssacSDKException- 오류 발생
-
SignedBetween
public boolean SignedBetween(int signerIndex, java.util.Date from, java.util.Date to) throws IssacSDKException서명한 시간이 지정한 범위에 포함되는 지를 확인한다.- Parameters:
signerIndex- [IN] 서명자 정보의 인덱스from- [IN] 지정 범위 시작시점 (초단위 절삭, 같거나 이후)to- [IN] 지정 범위 종료시점 (초단위 절삭, 같거나 이전)- Returns:
- 지정한 범위에 포함되는 지 여부
- Throws:
IssacSDKException- 오류 발생
-
GetOriginalMessage
public byte[] GetOriginalMessage() throws IssacSDKException서명 원문 메시지를 가져온다.- Returns:
- 서명 원문 메시지
- Throws:
IssacSDKException- 오류 발생
-
GetSignerCount
public int GetSignerCount() throws IssacSDKException전체 서명자 수를 가져온다.- Returns:
- 전체 서명자 수
- Throws:
IssacSDKException- 오류 발생
-
GetSignerIdentifierType
public int GetSignerIdentifierType(int signerIndex) throws IssacSDKException서명자 구분에 사용되는 방식을 가져온다.- Parameters:
signerIndex- [IN] 서명자 정보의 인덱스- Returns:
- 서명자 구분에 사용되는 방식 [
SID_ISSUER_AND_SERIAL(1),SID_SKID(2) ] - Throws:
IssacSDKException- 오류 발생
-
GetSignerInfoIssuer
public java.lang.String GetSignerInfoIssuer(int signerIndex) throws IssacSDKException서명자의 인증서 발급자 DN을 가져온다.- Parameters:
signerIndex- [IN] 서명자 정보의 인덱스- Returns:
- 서명자의 인증서 발급자 DN
- Throws:
IssacSDKException- 오류 발생
-
GetSignerInfoSerial
public byte[] GetSignerInfoSerial(int signerIndex) throws IssacSDKException서명자의 인증서 일련번호(Serial Number)를 가져온다.- Parameters:
signerIndex- [IN] 서명자 정보의 인덱스- Returns:
- 서명자의 인증서 일련번호(Serial Number)
- Throws:
IssacSDKException- 오류 발생
-
GetSignerInfoSKID
public byte[] GetSignerInfoSKID(int signerIndex) throws IssacSDKException서명자의 공개키 해시값(Subject Key IDentifier)을 가져온다.- Parameters:
signerIndex- [IN] 서명자 정보의 인덱스- Returns:
- 서명자의 공개키 해시값(Subject Key IDentifier)
- Throws:
IssacSDKException- 오류 발생
-
GetSignerCert
public IssacCERTIFICATE GetSignerCert(int signerIndex) throws IssacSDKException
서명자의 인증서를 가져온다. (포함되어 있을 경우에만)- Parameters:
signerIndex- [IN] 서명자 정보의 인덱스- Returns:
- 서명자의 인증서
- Throws:
IssacSDKException- 오류 발생
-
VerifySign
public void VerifySign(int signerIndex) throws IssacSDKException서명값을 검증한다.- Parameters:
signerIndex- [IN] 서명자 정보의 인덱스- Throws:
IssacSDKException- 오류 발생
-
VerifySign
public void VerifySign(IssacCERTIFICATE signerCert) throws IssacSDKException
서명값을 검증한다.- Parameters:
signerCert- [IN] 서명자의 인증서- Throws:
IssacSDKException- 오류 발생
-
close
public void close() throws IssacSDKException이 CMS를 메모리에서 삭제한다.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Throws:
IssacSDKException- 오류 발생- See Also:
IssacCMS()
-
MakeSignedData
public static byte[] MakeSignedData(byte[] message, IssacPRIVATEKEY signerPriKey, IssacCERTIFICATE signerCert, java.util.Date signTime, int hashNid)PKCS#7 서명 메시지를 생성한다.- Parameters:
message- [IN] PKCS#7 서명 메시지signerPriKey- [IN] 서명용 개인키signerCert- [IN] 서명용 인증서signTime- [IN] 서명 시각 (초 단위 절삭)hashNid- [IN] 서명에 사용할 해시 알고리즘 [IssacSG.SHA1(134),IssacSG.SHA256(385)]- Returns:
- PKCS#7 서명 메시지
- Throws:
IssacSDKException- 오류 발생
-
VerifySignedData
public static int VerifySignedData(byte[] cms)
PKCS#7 서명 메시지를 검증한다.- Parameters:
cms- [IN] PKCS#7 서명 메시지- Returns:
- 0 : 성공
- Throws:
IssacSDKException- 오류 발생
-
-