xecure.expcms
Class SignedData

java.lang.Object
  |
  +--xecure.expcms.SignedData

public class SignedData
extends java.lang.Object

SignedData Ŭ·¡½º´Â RFC 2630 ÀÇ CryptoGraphic Message Syntax SignedMessage ¸¦ »ý¼ºÇϰí, °ËÁõÇÑ´Ù.
¼­¸íÀÚ ÀÎÁõ¼­¿Í °³ÀÎŰ·Î signed message ¸¦ »ý¼ºÇϰí, »ý¼ºµÈ signed message ¸¦ °ËÁõÇÏ¿© ¸Þ½ÃÁö ¾ÈÀÇ ¼­¸íÀÚ Á¤º¸¿Í ¿øº» µ¥ÀÌÅ͸¦ ¸®ÅÏÇÑ´Ù.


Field Summary
static int MD2withRSA
           
static int MD5withRSA
           
static int SHA1withRSA
           
 
Constructor Summary
SignedData(XecureExpConfig config)
          SignedData Constructor
 
Method Summary
 byte[] decodeSignedData(java.lang.String signed_msg)
          RFC 2630 ÀÇ signed data¸¦ ÇØ¼®Çϰí, ¼­¸í °ËÁõÀ» ¼öÇàÇÑ´Ù(Hexa).
 byte[] decodeSignedDataBase64(java.lang.String signed_msg)
          RFC 2630 ÀÇ signed data¸¦ ÇØ¼®Çϰí, ¼­¸í °ËÁõÀ» ¼öÇàÇÑ´Ù(Base64).
 java.lang.String encodeSignedData(byte[] signer_cert_der, byte[] signer_key, byte[] signer_keypwd, byte[] content, int sign_algorithm)
          ¸Þ½ÃÁö¿¡ ÀüÀÚ¼­¸íÀ» ÇÑ´Ù(Hexa).
 java.lang.String encodeSignedData(java.security.cert.X509Certificate signer_cert, byte[] signer_key, byte[] signer_keypwd, byte[] content, int sign_algorithm)
          ¸Þ½ÃÁö¿¡ ÀüÀÚ¼­¸íÀ» ÇÑ´Ù(Hexa).
 java.lang.String encodeSignedDataBase64(byte[] signer_cert_der, byte[] signer_key, byte[] signer_keypwd, byte[] content, int sign_algorithm)
          ¸Þ½ÃÁö¿¡ ÀüÀÚ¼­¸íÀ» ÇÑ´Ù(Base64).
 java.lang.String encodeSignedDataBase64(java.security.cert.X509Certificate signer_cert, byte[] signer_key, byte[] signer_keypwd, byte[] content, int sign_algorithm)
          ¸Þ½ÃÁö¿¡ ÀüÀÚ¼­¸íÀ» ÇÑ´Ù(Base64).
 byte[] getDecodedContent()
          °ËÁõµÈ ¸Þ½ÃÁö ¿ø¹® Á¤º¸¸¦ ¾ò´Â´Ù.
 int getDecodedSignatureAlgorithm()
          ¼­¸í¿¡ »ç¿ëµÈ ¼­¸í ¾Ë°í¸®ÁòÀ» ¸®ÅÏÇÑ´Ù.
 java.security.cert.X509Certificate getDecodedSignerCert()
          ¼­¸í¹®¿¡ attachµÈ ¼­¸íÀÚ ÀÎÁõ¼­¸¦ ¸®ÅÏÇÑ´Ù.
 byte[] getDecodedSignerCertDer()
          ¼­¸í¹®¿¡ attachµÈ ¼­¸íÀÚ ÀÎÁõ¼­¸¦ ¸®ÅÏÇÑ´Ù.
 int getLastError()
          ¿¡·¯ Äڵ带 ¸®ÅÏÇÑ´Ù.
 java.lang.String getLastErrorMsg()
          ¿¡·¯ ¸Þ½ÃÁö¸¦ ¸®ÅÏÇÑ´Ù.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MD2withRSA

public static int MD2withRSA

MD5withRSA

public static int MD5withRSA

SHA1withRSA

public static int SHA1withRSA
Constructor Detail

SignedData

public SignedData(XecureExpConfig config)
SignedData Constructor
Parameters:
config - xecure.exp.XecureExpConfig
Method Detail

encodeSignedData

public java.lang.String encodeSignedData(java.security.cert.X509Certificate signer_cert,
                                         byte[] signer_key,
                                         byte[] signer_keypwd,
                                         byte[] content,
                                         int sign_algorithm)
                                  throws java.security.cert.CertificateEncodingException,
                                         java.security.cert.CertificateEncodingException
¸Þ½ÃÁö¿¡ ÀüÀÚ¼­¸íÀ» ÇÑ´Ù(Hexa).
¼­¸íÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎŰ·Î ¿ø¹®À» ÀüÀÚ¼­¸í ÇÑ´Ù.
¼­¸íÀÚ °³ÀÎŰ´Â pkcs #8 ÀÇ encrypted private key Çü½ÄÀ¸·Î µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
¸®ÅϵǴ ¹®ÀÚ¿­Àº cms ÀÇ signed data Çü½ÄÀ̸ç, hexa encoding µÇ¾î ÀÖ´Ù.
Áö¿ø ¼­¸í ¾Ë°í¸®ÁòÀº MD2withRSA , MD5withRSA, SHA1withRSA ¼¼°¡Áö ÀÌ´Ù.
¿¡·¯°¡ ¹ß»ýÇÏ´Â °æ¿ì, null À» ¸®ÅÏÇϰí, errno, errMsg ¸¦ ÅëÇØ ¿¡·¯ÄÚµå¿Í ¿¡·¯¸Þ½ÃÁö¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
errno : getLastError(), getLastErrorMsg() ÂüÁ¶
Parameters:
signer_cert - java.security.cert.X509Certificate ¼­¸íÀÚ ÀÎÁõ¼­
signer_key - ¼­¸íÀÚ °³ÀÎŰ
signer_keypwd - ¼­¸íÀÚ °³ÀÎŰ ÆÐ½º¿öµå
content - ¼­¸íÇÒ ¿ø¹® ¸Þ½ÃÁö
sign_algorithm - ¼­¸í ¾Ë°í¸®Áò SignedData.MD2withRSA , SignedData.MD5withRSA, SignedData.SHA1withRSA
Returns:
hexa encoding µÈ signed data
Throws:
java.security.cert.CertificateEncodingException -  

encodeSignedData

public java.lang.String encodeSignedData(byte[] signer_cert_der,
                                         byte[] signer_key,
                                         byte[] signer_keypwd,
                                         byte[] content,
                                         int sign_algorithm)
¸Þ½ÃÁö¿¡ ÀüÀÚ¼­¸íÀ» ÇÑ´Ù(Hexa).
¼­¸íÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎŰ·Î ¿ø¹®À» ÀüÀÚ¼­¸í ÇÑ´Ù.
¼­¸íÀÚ °³ÀÎŰ´Â pkcs #8 ÀÇ encrypted private key Çü½ÄÀ¸·Î µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
¸®ÅϵǴ ¹®ÀÚ¿­Àº cms ÀÇ signed data Çü½ÄÀ̸ç, hexa encoding µÇ¾î ÀÖ´Ù.
Áö¿ø ¼­¸í ¾Ë°í¸®ÁòÀº MD2withRSA , MD5withRSA, SHA1withRSA ¼¼°¡Áö ÀÌ´Ù.
¿¡·¯°¡ ¹ß»ýÇÏ´Â °æ¿ì, null À» ¸®ÅÏÇϰí, errno, errMsg ¸¦ ÅëÇØ ¿¡·¯ÄÚµå¿Í ¿¡·¯¸Þ½ÃÁö¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
errno : getLastError(), getLastErrorMsg() ÂüÁ¶
Parameters:
signer_cert_der - ¼­¸íÀÚ ÀÎÁõ¼­(der type)
signer_key - ¼­¸íÀÚ °³ÀÎŰ
signer_keypwd - ¼­¸íÀÚ °³ÀÎŰ ÆÐ½º¿öµå
content - ¼­¸íÇÒ ¿ø¹® ¸Þ½ÃÁö
sign_algorithm - ¼­¸í ¾Ë°í¸®Áò SignedData.MD2withRSA , SignedData.MD5withRSA, SignedData.SHA1withRSA
Returns:
hexa encoding µÈ signed data

decodeSignedData

public byte[] decodeSignedData(java.lang.String signed_msg)
RFC 2630 ÀÇ signed data¸¦ ÇØ¼®Çϰí, ¼­¸í °ËÁõÀ» ¼öÇàÇÑ´Ù(Hexa).
¼­¸í °ËÁõµÈ ¿ø¹® ¹®ÀÚ¿­, ¼­¸íÀÚ ÀÎÁõ¼­, ¼­¸í ¾Ë°í¸®ÁòÀ» ÃßÃâÇÑ´Ù.
°ËÁõ½Ã ¿À·ù°¡ ¹ß»ýÇϸé errno, errMsg ¸¦ ÅëÇØ ¿¡·¯ ÄÚµå¿Í ¿¡·¯ ¸Þ½ÃÁö¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
errno : getLastError(), getLastErrorMsg() ÂüÁ¶
Parameters:
signed_msg - hexa encoding µÈ signed message
Returns:
¿ø¹® ¹®ÀÚ¿­

encodeSignedDataBase64

public java.lang.String encodeSignedDataBase64(java.security.cert.X509Certificate signer_cert,
                                               byte[] signer_key,
                                               byte[] signer_keypwd,
                                               byte[] content,
                                               int sign_algorithm)
                                        throws java.security.cert.CertificateEncodingException,
                                               java.security.cert.CertificateEncodingException
¸Þ½ÃÁö¿¡ ÀüÀÚ¼­¸íÀ» ÇÑ´Ù(Base64).
¼­¸íÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎŰ·Î ¿ø¹®À» ÀüÀÚ¼­¸í ÇÑ´Ù.
¼­¸íÀÚ °³ÀÎŰ´Â pkcs #8 ÀÇ encrypted private key Çü½ÄÀ¸·Î µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
¸®ÅϵǴ ¹®ÀÚ¿­Àº cms ÀÇ signed data Çü½ÄÀ̸ç, Base64 encoding µÇ¾î ÀÖ´Ù.
Áö¿ø ¼­¸í ¾Ë°í¸®ÁòÀº MD2withRSA , MD5withRSA, SHA1withRSA ¼¼°¡Áö ÀÌ´Ù.
¿¡·¯°¡ ¹ß»ýÇÏ´Â °æ¿ì, null À» ¸®ÅÏÇϰí, errno, errMsg ¸¦ ÅëÇØ ¿¡·¯ÄÚµå¿Í ¿¡·¯¸Þ½ÃÁö¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
errno : getLastError(), getLastErrorMsg() ÂüÁ¶
Parameters:
signer_cert - java.security.cert.X509Certificate ¼­¸íÀÚ ÀÎÁõ¼­
signer_key - ¼­¸íÀÚ °³ÀÎŰ
signer_keypwd - ¼­¸íÀÚ °³ÀÎŰ ÆÐ½º¿öµå
content - ¼­¸íÇÒ ¿ø¹® ¸Þ½ÃÁö
sign_algorithm - ¼­¸í ¾Ë°í¸®Áò SignedData.MD2withRSA , SignedData.MD5withRSA, SignedData.SHA1withRSA
Returns:
Base64 encoding µÈ signed data
Throws:
java.security.cert.CertificateEncodingException -  

encodeSignedDataBase64

public java.lang.String encodeSignedDataBase64(byte[] signer_cert_der,
                                               byte[] signer_key,
                                               byte[] signer_keypwd,
                                               byte[] content,
                                               int sign_algorithm)
¸Þ½ÃÁö¿¡ ÀüÀÚ¼­¸íÀ» ÇÑ´Ù(Base64).
¼­¸íÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎŰ·Î ¿ø¹®À» ÀüÀÚ¼­¸í ÇÑ´Ù.
¼­¸íÀÚ °³ÀÎŰ´Â pkcs #8 ÀÇ encrypted private key Çü½ÄÀ¸·Î µÇ¾î ÀÖ¾î¾ß ÇÑ´Ù.
¸®ÅϵǴ ¹®ÀÚ¿­Àº cms ÀÇ signed data Çü½ÄÀ̸ç, Base64 encoding µÇ¾î ÀÖ´Ù.
Áö¿ø ¼­¸í ¾Ë°í¸®ÁòÀº MD2withRSA , MD5withRSA, SHA1withRSA ¼¼°¡Áö ÀÌ´Ù.
¿¡·¯°¡ ¹ß»ýÇÏ´Â °æ¿ì, null À» ¸®ÅÏÇϰí, errno, errMsg ¸¦ ÅëÇØ ¿¡·¯ÄÚµå¿Í ¿¡·¯¸Þ½ÃÁö¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
errno : getLastError(), getLastErrorMsg() ÂüÁ¶
Parameters:
signer_cert_der - ¼­¸íÀÚ ÀÎÁõ¼­(der type)
signer_key - ¼­¸íÀÚ °³ÀÎŰ
signer_keypwd - ¼­¸íÀÚ °³ÀÎŰ ÆÐ½º¿öµå
content - ¼­¸íÇÒ ¿ø¹® ¸Þ½ÃÁö
sign_algorithm - ¼­¸í ¾Ë°í¸®Áò SignedData.MD2withRSA , SignedData.MD5withRSA, SignedData.SHA1withRSA
Returns:
Base64 encoding µÈ signed data

decodeSignedDataBase64

public byte[] decodeSignedDataBase64(java.lang.String signed_msg)
RFC 2630 ÀÇ signed data¸¦ ÇØ¼®Çϰí, ¼­¸í °ËÁõÀ» ¼öÇàÇÑ´Ù(Base64).
¼­¸í °ËÁõµÈ ¿ø¹® ¹®ÀÚ¿­, ¼­¸íÀÚ ÀÎÁõ¼­, ¼­¸í ¾Ë°í¸®ÁòÀ» ÃßÃâÇÑ´Ù.
°ËÁõ½Ã ¿À·ù°¡ ¹ß»ýÇϸé errno, errMsg ¸¦ ÅëÇØ ¿¡·¯ ÄÚµå¿Í ¿¡·¯ ¸Þ½ÃÁö¸¦ ¾òÀ» ¼ö ÀÖ´Ù.
errno : getLastError(), getLastErrorMsg() ÂüÁ¶
Parameters:
signed_msg - Base64 encoding µÈ signed message
Returns:
¿ø¹® ¹®ÀÚ¿­

getDecodedContent

public byte[] getDecodedContent()
°ËÁõµÈ ¸Þ½ÃÁö ¿ø¹® Á¤º¸¸¦ ¾ò´Â´Ù.
Returns:
decoded content

getDecodedSignerCert

public java.security.cert.X509Certificate getDecodedSignerCert()
                                                        throws java.security.cert.CertificateException,
                                                               java.io.IOException
¼­¸í¹®¿¡ attachµÈ ¼­¸íÀÚ ÀÎÁõ¼­¸¦ ¸®ÅÏÇÑ´Ù.
Returns:
signer cert (X509Certificate type)

getDecodedSignerCertDer

public byte[] getDecodedSignerCertDer()
¼­¸í¹®¿¡ attachµÈ ¼­¸íÀÚ ÀÎÁõ¼­¸¦ ¸®ÅÏÇÑ´Ù.
Returns:
signer cert (der type)

getDecodedSignatureAlgorithm

public int getDecodedSignatureAlgorithm()
¼­¸í¿¡ »ç¿ëµÈ ¼­¸í ¾Ë°í¸®ÁòÀ» ¸®ÅÏÇÑ´Ù.
1 : MD2withRSA, 2 : MD5withRSA , 3 : SHA1withRSA
Returns:
signature algorithm

getLastError

public int getLastError()
¿¡·¯ Äڵ带 ¸®ÅÏÇÑ´Ù.
errno : -37331 BAD_SIGNED_DATA (À߸øµÈ Signed Data )
-37332 BAD_ENVELOPED_DATA (À߸øµÈ Enveloped Data )
-37341 BAD_CERT (À߸øµÈ ÀÎÁõ¼­)
-37361 NO_CERT (ÀÎÁõ¼­°¡ attach µÇÁö ¾Ê¾ÒÀ½)
-37430 INVALID_PASSWORD (°³ÀÎŰ ÆÐ½º¿öµå°¡ À߸øµÊ )
-37422 BAD_ENCPRIVKEYINFO (encrypted key º¹È£È­ ¿À·ù)
±âŸ
Returns:
error number

getLastErrorMsg

public java.lang.String getLastErrorMsg()
¿¡·¯ ¸Þ½ÃÁö¸¦ ¸®ÅÏÇÑ´Ù.
Returns:
error message