Class IssacSG
- java.lang.Object
-
- com.penta.sdk.sg.IssacSG
-
public class IssacSG extends java.lang.Object전자 서명을 처리하는 클래스전자 서명을 생성하기 위해서는 원본 메시지, 전자 서명자의 개인키와 인증서 그리고 전자 서명 작성 시점인 전자 서명 시각(sign_time)이 필요하다.
전자 서명 생성 함수는 전자 서명 생성 과정을 수행한 후 전자 서명 된 메시지를 출력한다.
이 메시지의 형태는 PKCS#7 의 SignedData 형식으로 되어 있다.전자 서명을 검증하는 함수로는 전자 서명값 자체만 검증하는 VerifySignature()함수와 전자 서명 검증과 함께 인증서 검증까지 하는 VerifySignatureAndCertificate() 함수가 있다.
인증서 검증 과정은 전자 서명의 유효성 검증을 위해서 필요하다.
인증서 검증 시에는 CA의 인증서 집합과 CRL(인증서 폐지 목록), 인증 정책 집합과 전자 서명 검증 시각(verifytime)이 필요하다.전자 서명 검증 과정은 전자 서명 자체에 대한 검증과 인증서에 대한 검증의 두 가지로 나뉜다.
첫번째의 경우는 인증서에서 제공하는 공개키에 대한 정보를 통해 작성된 전자 서명이 올바른지 확인하는 것이다.
두번째의 경우는 전자 서명 검증에 사용되는 인증서가 과연 올바른 것인가에 대한 인증 경로 검증으로써 해당 인증서를 발급한 상위 CA들의 인증서를 검증한다.
이때 사용되는 CA 인증서 집합에는 검증하려는 쪽이 신뢰하는 CA들이 입력되어 있어야 한다. (인증서 경로 검증: 사용자가 가장 신뢰하는 CA의 인증서로부터 얻고자 하는 상대방의 공개키가 포함된 인증서에 이르는 CA들의 trust chain에 대한 검증)GetOriginalMessage()함수는 전자 서명 된 메시지에서 원본 메시지를 얻는다.
GetSignerCertificate ()함수는 전자 서명된 메시지에서 서명자의 인증서를 얻는다.
위의 각 함수에 대하여 입력과 출력에 대하여 파일 형태를 갖는 함수들을 제공한다.
-
-
Constructor Summary
Constructors Constructor Description IssacSG()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidGetCoreSignatureValue()PKCS#7 SignedData 에서 전자서명을 추출한다.byte[]GetOriginalMessage()PKCS#7 SignedData에서 서명 대상 원문을 가져온다.voidGetOriginalMessage_File(java.lang.String original_message_file, java.lang.String signature_file)GetOriginalMessage()의 파일 입출력 버전.java.util.DategetSign_Time()전자서명 시각을 가져온다.byte[]getSignature()PKCS#7 SignedData를 가져온다.byte[]getSignature_core()전자서명을 가져온다.voidGetSignerCertificate(IssacCERTIFICATE cert)PKCS#7 SignedData에서 첫번째 서명자의 인증서를 가져온다.static voidGetSignerCertificate_File(IssacCERTIFICATE cert, java.lang.String signature_file)GetSignerCertificate()의 파일 입출력 버전.voidMakeSignature(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert)PKCS#7 SignedData를 생성한다.voidMakeSignature(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, java.util.Date sign_time)PKCS#7 SignedData를 생성한다.voidMakeSignature_Core(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert)전자서명을 생성한다.voidMakeSignature_Core(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, java.util.Date sign_time)전자서명을 생성한다.voidMakeSignature_Core_WithHashNid(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, int hashNid)전자서명을 생성한다.voidMakeSignature_Core_WithHashNid(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, java.util.Date sign_time, int hashNid)전자서명을 생성한다.static java.lang.StringMakeSignature_DSA(java.lang.String message, java.lang.String privatekey, java.lang.String parameter)PKCS#7 SignedData를 생성한다.voidMakeSignature_File(java.lang.String message_file, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert)입력받은 경로의 파일에 대한 전자서명을 생성한다.static voidMakeSignature_File(java.lang.String signature_file, java.lang.String message_file, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert)MakeSignature()의 파일 입출력 버전.static voidMakeSignature_File(java.lang.String signature_file, java.lang.String message_file, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, java.util.Date sign_time)MakeSignature()의 파일 입출력 버전.voidMakeSignature_File_WithHashNid(java.lang.String message_file, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, int hashNid)입력받은 경로의 파일에 대한 전자서명을 생성한다.voidMakeSignature_FromSignatureCore(byte[] message, byte[] signature, IssacCERTIFICATE cert, int pkAlgNid, int hashNid)주어진 전자서명을 이용하여 PKCS#7 SignedData를 작성한다.voidMakeSignature_WithHashNid(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, int hashNid)PKCS#7 SignedData를 생성한다.voidMakeSignature_WithHashNid(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, java.util.Date sign_time, int hashNid)PKCS#7 SignedData를 생성한다.voidsetSignature(byte[] signature)PKCS#7 SignedData를 설정한다.voidsetSignature_core(byte[] signature_core)전자서명을 설정한다.static byte[]SignRawByte(byte[] message, IssacPRIVATEKEY privatekey, IssacPUBLICKEY publickey)전자서명값을 생성한다.static byte[]SignRawByte_WithHashNid(byte[] message, IssacPRIVATEKEY privatekey, IssacPUBLICKEY publickey, int hashNid)전자서명값을 생성한다.intVerifySignature()PKCS#7 SignedData의 첫번째 서명자의 전자서명값을 검증한다.intVerifySignature_Core(byte[] message, IssacCERTIFICATE cert, java.util.Date verifyTime)전자서명을 검증한다.intVerifySignature_Core_File(java.lang.String message_file, IssacCERTIFICATE cert)전자서명을 검증한다.intVerifySignature_Core_File_WithHashNid(java.lang.String message_file, IssacCERTIFICATE cert, int hashNid)전자서명을 검증한다.intVerifySignature_Core_WithHashNid(byte[] message, IssacCERTIFICATE cert, java.util.Date verifyTime, int hashNid)전자서명을 검증한다.static intVerifySignature_DSA(java.lang.String sign, java.lang.String message, java.lang.String publickey, java.lang.String parameter)전자서명을 검증한다.static intVerifySignature_File(java.lang.String signature_file)VierifySignature()의 파일 입력 버전이다.intVerifySignatureAndCertificate(IssacCERTIFICATES caCerts, IssacCERTIFICATES trustedCerts, IssacPOLICYCONTEXT policy, IssacCRL crl, int flags)PKCS#7 SignedData의 첫번째 서명자의 전자서명값과 인증서의 유효성을 검증한다.intVerifySignatureAndCertificate(IssacCERTIFICATES caCerts, IssacCERTIFICATES trustedCerts, IssacPOLICYCONTEXT policy, IssacCRL crl, java.util.Date verifyTime, int flags)PKCS#7 SignedData의 첫번째 서명자의 전자서명값과 인증서의 유효성을 검증한다.static intVerifySignatureAndCertificate_File(java.lang.String signature_file, IssacCERTIFICATES certs, IssacPOLICYCONTEXT policy, IssacCRL crl)VerifySignatureAndCertificate()의 파일 입력 버전.static intVerifySignatureAndCertificate_File(java.lang.String signature_file, IssacCERTIFICATES certs, IssacPOLICYCONTEXT policy, IssacCRL crl, java.util.Date verify_time)VerifySignatureAndCertificate()의 파일 입력 버전.static intVerifySignRawByte(byte[] signatureIn, byte[] message, IssacPUBLICKEY publickey)전자서명값을 검증한다.static intVerifySignRawByte_WithHashNid(byte[] signatureIn, byte[] message, IssacPUBLICKEY publickey, int hashNid)전자서명값을 검증한다.
-
-
-
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
-
-
Method Detail
-
setSignature
public void setSignature(byte[] signature) throws IssacSDKExceptionPKCS#7 SignedData를 설정한다.- Parameters:
signature- [IN] PKCS#7 SignedData- Throws:
IssacSDKException- 오류 발생
-
setSignature_core
public void setSignature_core(byte[] signature_core) throws IssacSDKException전자서명을 설정한다.- Parameters:
signature_core- [IN] 전자서명- Throws:
IssacSDKException- 오류 발생
-
getSignature
public byte[] getSignature()
PKCS#7 SignedData를 가져온다. MakeSignature()를 실행한 후에 얻을수 있다.- Returns:
- PKCS#7 SignedData
- See Also:
MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE, Date),MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE)
-
getSignature_core
public byte[] getSignature_core()
전자서명을 가져온다.- Returns:
- 전자서명
-
getSign_Time
public java.util.Date getSign_Time()
전자서명 시각을 가져온다.GetOriginalMessage()나 GetOriginalMessage_File()를 실행한 후에 얻을수 있다.
- Returns:
- 전자서명 작성시각
- See Also:
GetOriginalMessage(),GetOriginalMessage_File(String, String)
-
MakeSignature
public void MakeSignature(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, java.util.Date sign_time) throws IssacSDKExceptionPKCS#7 SignedData를 생성한다.주어진 메시지(message)에 대하여 전자서명을 하여 PKCS#7 SignedData 형태의 메시지를 만든다.
이 메세지에는 서명자의 인증서가 포함된다.
- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서sign_time- [IN] 서명 시각- Throws:
IssacSDKException- 오류 발생- See Also:
VerifySignature(),VerifySignatureAndCertificate(IssacCERTIFICATES, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, Date, int),VerifySignatureAndCertificate(IssacCERTIFICATES, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, int)
-
MakeSignature_DSA
public static java.lang.String MakeSignature_DSA(java.lang.String message, java.lang.String privatekey, java.lang.String parameter) throws IssacSDKExceptionPKCS#7 SignedData를 생성한다. (DSA)Note: 생성된 값은 바로 리턴하고 저장하지 않으므로, getSignature()로 가져올 수 없다.
- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키 (Base64)parameter- [IN] DSA Parameter- Returns:
- PKCS#7 SignedData (Base64)
- Throws:
IssacSDKException- 오류 발생
-
MakeSignature_WithHashNid
public void MakeSignature_WithHashNid(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, java.util.Date sign_time, int hashNid) throws IssacSDKExceptionPKCS#7 SignedData를 생성한다.- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서sign_time- [IN] 서명 시각hashNid- [IN] 서명에 사용할 해시 알고리즘 [SHA1(134),SHA256(385) ]- Throws:
IssacSDKException- 오류 발생
-
MakeSignature_Core
public void MakeSignature_Core(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, java.util.Date sign_time) throws IssacSDKException전자서명을 생성한다.- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서sign_time- [IN] 서명 시각- Throws:
IssacSDKException- 오류 발생
-
MakeSignature_Core_WithHashNid
public void MakeSignature_Core_WithHashNid(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, java.util.Date sign_time, int hashNid) throws IssacSDKException전자서명을 생성한다.- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서sign_time- [IN] 서명 시각hashNid- [IN] 서명에 사용할 해시 알고리즘 [SHA1(134),SHA256(385) ]- Throws:
IssacSDKException- 오류 발생
-
MakeSignature
public void MakeSignature(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert) throws IssacSDKExceptionPKCS#7 SignedData를 생성한다.주어진 메시지(message)에 대하여 전자서명을 하여 PKCS#7 SignedData 형태의 메시지를 만든다.
시스템 현재 시간으로 수행한다.- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서- Throws:
IssacSDKException- 오류 발생- See Also:
VerifySignature(),VerifySignatureAndCertificate(IssacCERTIFICATES, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, Date, int),VerifySignatureAndCertificate(IssacCERTIFICATES, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, int)
-
MakeSignature_FromSignatureCore
public void MakeSignature_FromSignatureCore(byte[] message, byte[] signature, IssacCERTIFICATE cert, int pkAlgNid, int hashNid) throws IssacSDKException주어진 전자서명을 이용하여 PKCS#7 SignedData를 작성한다.- Parameters:
message- [IN] 서명 대상 메시지signature- [IN] 전자서명cert- [IN] 서명자의 인증서pkAlgNid- [IN] 공개키 알고리즘 [52: RSA, 428: EC]hashNid- [IN] 서명에 사용할 해시 알고리즘 [SHA1(134),SHA256(385) ]- Throws:
IssacSDKException- 오류 발생
-
MakeSignature_WithHashNid
public void MakeSignature_WithHashNid(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, int hashNid) throws IssacSDKExceptionPKCS#7 SignedData를 생성한다.- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서hashNid- [IN] 서명에 사용할 해시 알고리즘 [SHA1(134),SHA256(385) ]- Throws:
IssacSDKException- 오류 발생
-
MakeSignature_Core
public void MakeSignature_Core(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert) throws IssacSDKException전자서명을 생성한다.- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서- Throws:
IssacSDKException- 오류 발생
-
MakeSignature_Core_WithHashNid
public void MakeSignature_Core_WithHashNid(byte[] message, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, int hashNid) throws IssacSDKException전자서명을 생성한다.- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서hashNid- [IN] 서명에 사용할 해시 알고리즘 [SHA1(134),SHA256(385) ]- Throws:
IssacSDKException- 오류 발생
-
VerifySignature
public int VerifySignature() throws IssacSDKExceptionPKCS#7 SignedData의 첫번째 서명자의 전자서명값을 검증한다. 인증서 검증은 하지 않는다.인증서 검증 과정을 함께 수행하려 한다면 VerifySignatureAndCertificate()를 사용한다.
- Returns:
- 검증결과 [0: 성공, 71212: SignedData 형식 오류, 71213: 서명검증 오류]
- Throws:
IssacSDKException- 오류 발생- See Also:
MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE, Date),MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE),VerifySignatureAndCertificate(IssacCERTIFICATES, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, Date, int),VerifySignatureAndCertificate(IssacCERTIFICATES, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, int)
-
VerifySignature_Core
public int VerifySignature_Core(byte[] message, IssacCERTIFICATE cert, java.util.Date verifyTime) throws IssacSDKException전자서명을 검증한다.- Parameters:
message- [IN] 서명 대상 메시지cert- [IN] 서명자의 인증서verifyTime- [IN] 서명을 검증할 시각- Returns:
- 검증결과 [0: 성공, 그 외: 오류]
- Throws:
IssacSDKException- 오류 발생
-
VerifySignature_DSA
public static int VerifySignature_DSA(java.lang.String sign, java.lang.String message, java.lang.String publickey, java.lang.String parameter) throws IssacSDKException전자서명을 검증한다. (DSA)- Parameters:
sign- [IN] 전자서명 (Base64)message- [IN] 서명 대상 메시지publickey- [IN] 서명자의 공개키 (Base64)parameter- [IN] DSA Parameter- Returns:
- 검증결과 [0: 성공, 그 외: 오류]
- Throws:
IssacSDKException- 서명검증 실패 (returnedValue() 로 상세오류 확인)
-
VerifySignature_Core_WithHashNid
public int VerifySignature_Core_WithHashNid(byte[] message, IssacCERTIFICATE cert, java.util.Date verifyTime, int hashNid) throws IssacSDKException전자서명을 검증한다.- Parameters:
message- [IN] 서명 대상 메시지cert- [IN] 서명자의 인증서verifyTime- [IN] 서명을 검증할 시각hashNid- [IN] 서명에 사용된 해시 알고리즘 [SHA1(134),SHA256(385) ]- Returns:
- 검증결과 [0: 성공, 그 외: 오류]
- Throws:
IssacSDKException- 오류 발생
-
GetCoreSignatureValue
public void GetCoreSignatureValue() throws IssacSDKExceptionPKCS#7 SignedData 에서 전자서명을 추출한다. 추출한 전자서명은 getSignature_core()로 가져올 수 있다.- Throws:
IssacSDKException- 오류 발생- See Also:
getSignature_core()
-
VerifySignatureAndCertificate
public int VerifySignatureAndCertificate(IssacCERTIFICATES caCerts, IssacCERTIFICATES trustedCerts, IssacPOLICYCONTEXT policy, IssacCRL crl, java.util.Date verifyTime, int flags) throws IssacSDKException
PKCS#7 SignedData의 첫번째 서명자의 전자서명값과 인증서의 유효성을 검증한다.- Parameters:
caCerts- [IN] 인증서 검증을 위한 상위 인증서 체인trustedCerts- [IN] 신뢰하는 최상위 인증서 집합policy- [IN] 인증 정책 집합crl- [IN] 서명자 인증서의 유효성을 판단하기 위한 CRLverifyTime- [IN] 서명을 검증할 시각flags- [IN] 경로 검증 설정(모든 검증을 수행한다. = 0, 기본적인 검증만 수행한다. = 4, 인증서 정책 검증을 하지 않음. = 4, pathLenConstraint를 무시함. = 10, basicConstraints를 무시함. = 20)- Returns:
- 검증 결과 [0: 성공, 그 외: 실패]
- Throws:
IssacSDKException- 오류 발생- See Also:
VerifySignature(),MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE, Date),MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE)
-
VerifySignatureAndCertificate
public int VerifySignatureAndCertificate(IssacCERTIFICATES caCerts, IssacCERTIFICATES trustedCerts, IssacPOLICYCONTEXT policy, IssacCRL crl, int flags) throws IssacSDKException
PKCS#7 SignedData의 첫번째 서명자의 전자서명값과 인증서의 유효성을 검증한다.- Parameters:
caCerts- [IN] 인증서 검증을 위한 상위 인증서 체인trustedCerts- [IN] 신뢰하는 최상위 인증서 집합policy- [IN] 인증 정책 집합crl- [IN] 서명자 인증서의 유효성을 판단하기 위한 CRLflags- [IN] 경로 검증 설정(모든 검증을 수행한다. = 0, 기본적인 검증만 수행한다. = 4, 인증서 정책 검증을 하지 않음. = 4, pathLenConstraint를 무시함. = 10, basicConstraints를 무시함. = 20)- Returns:
- 검증 결과 [0: 성공, 그 외: 실패]
- Throws:
IssacSDKException- 오류 발생- See Also:
VerifySignature(),MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE, Date),MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE)
-
GetOriginalMessage
public byte[] GetOriginalMessage() throws IssacSDKExceptionPKCS#7 SignedData에서 서명 대상 원문을 가져온다.- Returns:
- 서명 대상 원문
- Throws:
IssacSDKException- 오류 발생- See Also:
GetSignerCertificate(IssacCERTIFICATE)
-
GetSignerCertificate
public void GetSignerCertificate(IssacCERTIFICATE cert) throws IssacSDKException
PKCS#7 SignedData에서 첫번째 서명자의 인증서를 가져온다.- Parameters:
cert- [OUT] 가져온 인증서- Throws:
IssacSDKException- 오류 발생- See Also:
GetOriginalMessage()
-
MakeSignature_File
public static void MakeSignature_File(java.lang.String signature_file, java.lang.String message_file, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, java.util.Date sign_time) throws IssacSDKExceptionMakeSignature()의 파일 입출력 버전.- Parameters:
signature_file- [IN] 생성된 PKCS#7 SignedData 가 저장될 파일의 경로message_file- [IN] 서명 대상 메시지 파일의 경로privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서sign_time- [IN] 서명 시각- Throws:
IssacSDKException- 오류 발생- See Also:
MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE, Date),MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE),VerifySignature_File(String),VerifySignatureAndCertificate_File(String, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, Date),VerifySignatureAndCertificate_File(String, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL)
-
MakeSignature_File
public static void MakeSignature_File(java.lang.String signature_file, java.lang.String message_file, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert) throws IssacSDKExceptionMakeSignature()의 파일 입출력 버전. 시스템 현재시각으로 수행한다.- Parameters:
signature_file- [IN] 생성된 PKCS#7 SignedData 가 저장될 파일의 경로message_file- [IN] 서명 대상 메시지 파일의 경로privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서- Throws:
IssacSDKException- 오류 발생- See Also:
MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE, Date),MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE),VerifySignature_File(String),VerifySignatureAndCertificate_File(String, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, Date),VerifySignatureAndCertificate_File(String, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL)
-
MakeSignature_File
public void MakeSignature_File(java.lang.String message_file, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert) throws IssacSDKException입력받은 경로의 파일에 대한 전자서명을 생성한다.- Parameters:
message_file- [IN] 서명 대상 메시지 파일의 경로privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서- Throws:
IssacSDKException- 오류 발생- See Also:
getSignature_core()
-
MakeSignature_File_WithHashNid
public void MakeSignature_File_WithHashNid(java.lang.String message_file, IssacPRIVATEKEY privatekey, IssacCERTIFICATE cert, int hashNid) throws IssacSDKException입력받은 경로의 파일에 대한 전자서명을 생성한다.- Parameters:
message_file- [IN] 서명 대상 메시지 파일의 경로privatekey- [IN] 서명자의 개인키cert- [IN] 서명자의 인증서hashNid- [IN] 서명에 사용할 해시 알고리즘 [SHA1(134),SHA256(385) ]- Throws:
IssacSDKException- 오류 발생- See Also:
getSignature_core()
-
VerifySignature_File
public static int VerifySignature_File(java.lang.String signature_file) throws IssacSDKExceptionVierifySignature()의 파일 입력 버전이다.인증서 검증 과정을 함께 수행하기 위해서는 VerifiySignatureAndCertificate_File() 함수를 사용한다.
- Parameters:
signature_file- [IN] PKCS#7 SignedData 메시지 파일의 경로- Returns:
- 검증결과 [0: 성공, 71212: SignedData 형식 오류, 71213: 서명검증 오류]
- Throws:
IssacSDKException- 오류 발생- See Also:
MakeSignature_File(String, String, IssacPRIVATEKEY, IssacCERTIFICATE, Date),MakeSignature_File(String, String, IssacPRIVATEKEY, IssacCERTIFICATE),MakeSignature(byte[], IssacPRIVATEKEY, IssacCERTIFICATE),VerifySignature(),VerifySignatureAndCertificate_File(String, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, Date),VerifySignatureAndCertificate_File(String, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL)
-
VerifySignature_Core_File
public int VerifySignature_Core_File(java.lang.String message_file, IssacCERTIFICATE cert) throws IssacSDKException전자서명을 검증한다.- Parameters:
message_file- [IN] 서명 대상 메시지 파일의 경로cert- [IN] 서명자의 인증서- Returns:
- 검증결과 [0: 성공, 71005: 파일 열기 오류, 71213: 서명검증 오류]
- Throws:
IssacSDKException- 오류 발생
-
VerifySignature_Core_File_WithHashNid
public int VerifySignature_Core_File_WithHashNid(java.lang.String message_file, IssacCERTIFICATE cert, int hashNid) throws IssacSDKException전자서명을 검증한다.- Parameters:
message_file- [IN] 서명 대상 메시지 파일의 경로cert- [IN] 서명자의 인증서hashNid- [IN] 서명에 사용된 해시 알고리즘 [SHA1(134),SHA256(385) ]- Returns:
- 검증결과 [0: 성공, 70000: 입력값 오류, 71005: 파일 열기 오류, 71213: 서명검증 오류]
- Throws:
IssacSDKException- 오류 발생
-
VerifySignatureAndCertificate_File
public static int VerifySignatureAndCertificate_File(java.lang.String signature_file, IssacCERTIFICATES certs, IssacPOLICYCONTEXT policy, IssacCRL crl, java.util.Date verify_time) throws IssacSDKExceptionVerifySignatureAndCertificate()의 파일 입력 버전.- Parameters:
signature_file- [IN] PKCS#7 SignedData 메시지 파일의 경로certs- [IN] 인증서 검증을 위한 상위 인증서 체인policy- [IN] 인증 정책 집합crl- [IN] 서명자 인증서의 유효성을 판단하기 위한 CRLverify_time- [IN] 서명을 검증할 시각- Returns:
- 검증 결과 [0: 성공, 그 외: 실패]
- Throws:
IssacSDKException- 오류 발생- See Also:
MakeSignature_File(String, String, IssacPRIVATEKEY, IssacCERTIFICATE, Date),MakeSignature_File(String, String, IssacPRIVATEKEY, IssacCERTIFICATE),VerifySignature_File(String),VerifySignatureAndCertificate(IssacCERTIFICATES, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, Date, int),VerifySignatureAndCertificate(IssacCERTIFICATES, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, int)
-
VerifySignatureAndCertificate_File
public static int VerifySignatureAndCertificate_File(java.lang.String signature_file, IssacCERTIFICATES certs, IssacPOLICYCONTEXT policy, IssacCRL crl) throws IssacSDKExceptionVerifySignatureAndCertificate()의 파일 입력 버전. 시스템 현재시간으로 수행한다.- Parameters:
signature_file- [IN] PKCS#7 SignedData 메시지 파일의 경로certs- [IN] 인증서 검증을 위한 상위 인증서 체인policy- [IN] 인증 정책 집합crl- [IN] 서명자 인증서의 유효성을 판단하기 위한 CRL- Returns:
- 검증 결과 [0: 성공, 그 외: 실패]
- Throws:
IssacSDKException- 오류 발생- See Also:
MakeSignature_File(String, String, IssacPRIVATEKEY, IssacCERTIFICATE, Date),MakeSignature_File(String, String, IssacPRIVATEKEY, IssacCERTIFICATE),VerifySignature_File(String),VerifySignatureAndCertificate(IssacCERTIFICATES, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, Date, int),VerifySignatureAndCertificate(IssacCERTIFICATES, IssacCERTIFICATES, IssacPOLICYCONTEXT, IssacCRL, int)
-
GetOriginalMessage_File
public void GetOriginalMessage_File(java.lang.String original_message_file, java.lang.String signature_file) throws IssacSDKExceptionGetOriginalMessage()의 파일 입출력 버전.PKCS#7 SignedData에서 원문 메시지를 추출하여 original_message_file로 출력한다.
- Parameters:
original_message_file- [IN] 서명 대상 원문 메시지가 저장될 파일의 경로signature_file- [IN] PKCS#7 SignedData 메시지 파일의 경로- Throws:
IssacSDKException- 오류 발생- See Also:
GetOriginalMessage(),GetSignerCertificate_File(IssacCERTIFICATE, String)
-
GetSignerCertificate_File
public static void GetSignerCertificate_File(IssacCERTIFICATE cert, java.lang.String signature_file) throws IssacSDKException
GetSignerCertificate()의 파일 입출력 버전.- Parameters:
cert- [OUT] 서명자의 인증서signature_file- [IN] PKCS#7 SignedData 메시지 파일의 경로- Throws:
IssacSDKException- 오류 발생- See Also:
GetSignerCertificate(IssacCERTIFICATE),GetOriginalMessage_File(String, String)
-
SignRawByte
public static byte[] SignRawByte(byte[] message, IssacPRIVATEKEY privatekey, IssacPUBLICKEY publickey) throws IssacSDKException전자서명값을 생성한다. (BER 형식이 아닌 Raw Data)- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키publickey- [IN] 서명자의 공개키- Returns:
- 전자서명값 (Raw Data)
- Throws:
IssacSDKException- 서명생성 실패 (returnedValue() 로 상세오류 확인)
-
SignRawByte_WithHashNid
public static byte[] SignRawByte_WithHashNid(byte[] message, IssacPRIVATEKEY privatekey, IssacPUBLICKEY publickey, int hashNid) throws IssacSDKException전자서명값을 생성한다. (BER 형식이 아닌 Raw Data)- Parameters:
message- [IN] 서명 대상 메시지privatekey- [IN] 서명자의 개인키publickey- [IN] 서명자의 공개키hashNid- [IN] 서명에 사용할 해시 알고리즘 [SHA1(134),SHA256(385) ]- Returns:
- 전자서명값 (Raw Data)
- Throws:
IssacSDKException- 서명생성 실패 (returnedValue() 로 상세오류 확인)
-
VerifySignRawByte
public static int VerifySignRawByte(byte[] signatureIn, byte[] message, IssacPUBLICKEY publickey) throws IssacSDKException전자서명값을 검증한다.- Parameters:
signatureIn- [IN] 전자서명값 (BER 형식이 아닌 Raw Data)message- [IN] 서명 대상 메시지publickey- [IN] 서명자의 공개키- Returns:
- 검증 결과 [0: 성공, 그 외: 실패]
- Throws:
IssacSDKException- 전자서명값 검증 실패 (returnedValue() 로 상세오류 확인)
-
VerifySignRawByte_WithHashNid
public static int VerifySignRawByte_WithHashNid(byte[] signatureIn, byte[] message, IssacPUBLICKEY publickey, int hashNid) throws IssacSDKException전자서명값을 검증한다.- Parameters:
signatureIn- [IN] 전자서명값 (BER 형식이 아닌 Raw Data)message- [IN] 서명 대상 메시지publickey- [IN] 서명자의 공개키hashNid- [IN] 서명에 사용된 해시 알고리즘 [SHA1(134),SHA256(385) ]- Returns:
- 검증 결과 [0: 성공, 그 외: 실패]
- Throws:
IssacSDKException- 전자서명값 검증 실패 (returnedValue() 로 상세오류 확인)
-
-