JCaosLib
V1.4.4.0

com.dreamsecurity.jcaos.cms
Class EnvelopedData

java.lang.Object
  extended bycom.dreamsecurity.jcaos.cms.EnvelopedData

public class EnvelopedData
extends java.lang.Object

ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö(EnvelopedData)¸¦ ó¸®Çϱâ À§ÇÑ Å¬·¡½ºÀÌ´Ù.

ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö´Â ¸Þ½ÃÁöÀÇ ±â¹Ð¼ºÀ» À§Çؼ­ ¸Þ½ÃÁö¸¦ ´ëĪŰ·Î ¾ÏȣȭÇÏ°í ´ëĪŰ´Â ¼ö½ÅÀÚÀÇ °ø°³Å°(ÀÎÁõ¼­)¸¦ ÀÌ¿ëÇØ¼­ ¾ÏȣȭÇÏ¿© ¼ö½ÅÀÚ ¸¸ÀÌ ¸Þ½ÃÁö¸¦ È®ÀÎÇÒ ¼ö ÀÖµµ·Ï ÇÏ´Â º¸¾È ¸Þ½ÃÁö Çü½ÄÀÌ´Ù.

ÇØ´ç Ŭ·¡½º¿¡¼­´Â RFC3852¿¡¼­ Á¤ÀÇÇÏ´Â EnvelopedData¿Í PKCS#7¿¡¼­ Á¤ÀÇÇÏ´Â EnvelopedData¸¦ ¸ðµÎ Áö¿øÇÑ´Ù.

ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸´Â "RFC3852" ¶Ç´Â "PKCS#7"¿¡¼­ È®ÀÎÇÒ ¼ö ÀÖ´Ù.

ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁöÀÇ ASN.1 Æ÷¸ËÀº ´ÙÀ½°ú °°´Ù.

 RFC3852¿¡¼­ Á¤ÀÇÇÏ´Â EnvelopedData Çü½Ä : 
 
 EnvelopedData ::= SEQUENCE {
		version                  CMSVersion,
		originatorInfo       [0] IMPLICIT OriginatorInfo OPTIONAL,
		recipientInfos           RecipientInfos,
		encryptedContentInfo     EncryptedContentInfo,
		unprotectedAttrs     [1] IMPLICIT UnprotectedAttributes OPTIONAL 
 }
 
 PKCS#7¿¡¼­ Á¤ÀÇÇÏ´Â EnvelopedData Çü½Ä :
  
 EnvelopedData ::= SEQUENCE {
 		version              Version,
 		recipientInfos       RecipientInfos,
 		encryptedContentInfo EncryptedContentInfo }
 
 ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö °´Ã¼ »ý¼º ¿¹Á¦ :
  
 byte[] envData = <ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö Àбâ>
 EnvelopedData envelopedData = EnvelopedData.getInstance(envData);
 

Since:
1.0.0.0

Method Summary
 byte[] decrypt(X509Certificate myCert, PKCS8PrivateKeyInfo myPriKeyInfo)
          ¼ö½ÅÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎ۸¦ ÀÌ¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ º¹È£È­ÇÑ´Ù.
 byte[] decrypt(X509Certificate myCert, PKCS8PrivateKeyInfo myPriKeyInfo, java.io.InputStream encContent)
          ¼ö½ÅÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎ۸¦ ÀÌ¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ º¹È£È­ÇÑ´Ù.
 void decrypt(X509Certificate myCert, PKCS8PrivateKeyInfo myPriKeyInfo, java.io.InputStream encContent, java.io.OutputStream content)
          ¼ö½ÅÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎ۸¦ ÀÌ¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ º¹È£È­ÇÑ´Ù.
 void decrypt(X509Certificate myCert, PKCS8PrivateKeyInfo myPriKeyInfo, java.io.OutputStream content)
          ¼ö½ÅÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎ۸¦ ÀÌ¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ º¹È£È­ÇÑ´Ù.
 java.lang.String getContentEncryptionAlgorithm()
          ¸Þ½ÃÁö ¾Ïȣȭ ½Ã »ç¿ëÇÑ ´ëĪŰ ¾Ë°í¸®ÁòÀ» È®ÀÎÇÑ´Ù.
 java.lang.String getContentType()
          ¾ÏȣȭµÈ ¸Þ½ÃÁö Á¾·ù¸¦ È®ÀÎÇÑ´Ù.
 byte[] getEncoded()
          DER ÀÎÄÚµù µÇ¾îÀÖ´Â ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö µ¥ÀÌÅ͸¦ ȹµæÇÑ´Ù.
 void getEncoded(java.io.OutputStream os)
          DER ÀÎÄÚµù µÇ¾îÀÖ´Â ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö µ¥ÀÌÅ͸¦ ȹµæÇÑ´Ù.
 byte[] getEncryptedContent()
          ´ëĪŰ ¾ÏȣȭµÈ ¸Þ½ÃÁö¸¦ È®ÀÎÇÑ´Ù.
 void getEncryptedContent(java.io.OutputStream os)
          ¾ÏȣȭµÈ ¸Þ½ÃÁö¸¦ È®ÀÎÇÑ´Ù.
static EnvelopedData getInstance(byte[] data)
          ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö¸¦ ÀÔ·ÂÇÏ¿© EnvelopedData °´Ã¼·Î º¯È¯ÇÑ´Ù.
static EnvelopedData getInstance(java.lang.Object o)
          ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö¸¦ ÀÔ·ÂÇÏ¿© EnvelopedData °´Ã¼·Î º¯È¯ÇÑ´Ù.
 java.security.Key getKey()
          ¸Þ½ÃÁö ¾Ïȣȭ¿¡ »ç¿ëµÇ¾ú´ø ´ëĪ۸¦ ȹµæÇÑ´Ù.
 java.security.spec.AlgorithmParameterSpec getParameter()
          ¸Þ½ÃÁö ¾Ïȣȭ¿¡ »ç¿ëµÇ¾ú´ø ´ëĪŰ ¾Ë°í¸®ÁòÀÇ ÆÄ¶ó¸ÞÅÍ (IV µî)¸¦ ȹµæÇÑ´Ù.
 java.util.ArrayList getRecipientInfos()
          ¼ö½ÅÀÚ Á¤º¸¸¦ ȹµæÇÑ´Ù.
 int getVersion()
          ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁöÀÇ ¹öÀüÀ» È®ÀÎÇÑ´Ù.
static EnvelopedData seperate(java.io.InputStream envData, java.io.OutputStream cipherText)
          ¾ÏÈ£¹®À» Æ÷ÇÔÇÏ´Â ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö (EnvelopedData)¸¦ ¾ÏÈ£¹®°ú ¾ÏÈ£ ¸Þ½ÃÁö¸¦ ºÐ¸®ÇÑ´Ù.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getInstance

public static EnvelopedData getInstance(byte[] data)
                                 throws java.io.IOException
ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö¸¦ ÀÔ·ÂÇÏ¿© EnvelopedData °´Ã¼·Î º¯È¯ÇÑ´Ù.

Parameters:
data - DER ÀÎÄÚµù ÇüÅÂÀÇ ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö
Throws:
java.io.IOException - µðÄÚµù ½ÇÆÐ½Ã ¹ß»ý

getInstance

public static EnvelopedData getInstance(java.lang.Object o)
                                 throws java.io.IOException
ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö¸¦ ÀÔ·ÂÇÏ¿© EnvelopedData °´Ã¼·Î º¯È¯ÇÑ´Ù.

Parameters:
o - ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö (DER ÀÎÄÚµùµÈ °ª, ASN.1 ÇüÅ ¶Ç´Â InputStream ÇüÅÂ)
Throws:
java.io.IOException - µðÄÚµù ½ÇÆÐ½Ã ¹ß»ý

getEncoded

public byte[] getEncoded()
                  throws java.io.IOException
DER ÀÎÄÚµù µÇ¾îÀÖ´Â ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö µ¥ÀÌÅ͸¦ ȹµæÇÑ´Ù.

Returns:
DER ÀÎÄÚµù µÇ¾îÀÖ´Â ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö
Throws:
java.io.IOException - ÀÎÄÚµù ½ÇÆÐ ½Ã ¹ß»ý

getEncoded

public void getEncoded(java.io.OutputStream os)
                throws java.io.IOException
DER ÀÎÄÚµù µÇ¾îÀÖ´Â ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö µ¥ÀÌÅ͸¦ ȹµæÇÑ´Ù.

Parameters:
os - OutputStream Çü½ÄÀÇ DER ÀÎÄÚµù µÇ¾îÀÖ´Â ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö
Throws:
java.io.IOException - Ãâ·Â ½ºÆ®¸²¿¡ ¾²±â ½ÇÆÐ ¶Ç´Â ÀÎÄÚµù ½ÇÆÐ ½Ã ¹ß»ý

getVersion

public int getVersion()
ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁöÀÇ ¹öÀüÀ» È®ÀÎÇÑ´Ù.

Returns:
¹öÀü

getRecipientInfos

public java.util.ArrayList getRecipientInfos()
                                      throws ParsingException,
                                             java.io.IOException
¼ö½ÅÀÚ Á¤º¸¸¦ ȹµæÇÑ´Ù. ÇöÀç ¼ö½ÅÀÚ Á¤º¸ ÇüÅ Áß "KeyTransRecipientInfo" ¸¸ Áö¿øµÈ´Ù.

Returns:
KeyTransRecipientInfoÀÇ ArrayList ÇüÅÂÀÇ ¼ö½ÅÀÚ Á¤º¸
Throws:
ParsingException - ¼ö½ÅÀÚ Á¤º¸ ÇüÅ Áß Áö¿øÇÏÁö ¾Ê´Â ÇüŰ¡ ÀÖ´Â °æ¿ì¿¡ ¹ß»ý
java.io.IOException - ¼ö½ÅÀÚ Á¤º¸ µðÄÚµù ½ÇÆÐ ½Ã ¹ß»ý

getContentType

public java.lang.String getContentType()
¾ÏȣȭµÈ ¸Þ½ÃÁö Á¾·ù¸¦ È®ÀÎÇÑ´Ù.

Returns:
¸Þ½ÃÁö Á¾·ù(OID)

getContentEncryptionAlgorithm

public java.lang.String getContentEncryptionAlgorithm()
¸Þ½ÃÁö ¾Ïȣȭ ½Ã »ç¿ëÇÑ ´ëĪŰ ¾Ë°í¸®ÁòÀ» È®ÀÎÇÑ´Ù.

Returns:
´ëĪŰ ¾Ë°í¸®Áò

getEncryptedContent

public byte[] getEncryptedContent()
´ëĪŰ ¾ÏȣȭµÈ ¸Þ½ÃÁö¸¦ È®ÀÎÇÑ´Ù.

Returns:
´ëĪŰ ¾ÏȣȭµÈ ¸Þ½ÃÁö

getEncryptedContent

public void getEncryptedContent(java.io.OutputStream os)
                         throws java.io.IOException
¾ÏȣȭµÈ ¸Þ½ÃÁö¸¦ È®ÀÎÇÑ´Ù.

Parameters:
os - Çü½ÄÀÇ ¾ÏȣȭµÈ ¸Þ½ÃÁö
Throws:
java.io.IOException

decrypt

public void decrypt(X509Certificate myCert,
                    PKCS8PrivateKeyInfo myPriKeyInfo,
                    java.io.OutputStream content)
             throws java.io.IOException,
                    ParsingException,
                    java.security.InvalidKeyException,
                    java.security.NoSuchAlgorithmException,
                    javax.crypto.NoSuchPaddingException,
                    NoSuchModeException,
                    NotForUserException,
                    java.security.NoSuchProviderException,
                    javax.crypto.IllegalBlockSizeException,
                    javax.crypto.BadPaddingException,
                    java.security.InvalidAlgorithmParameterException
¼ö½ÅÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎ۸¦ ÀÌ¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ º¹È£È­ÇÑ´Ù.

Parameters:
myCert - ¼ö½ÅÀÚ ÀÎÁõ¼­
myPriKeyInfo - ¼ö½ÅÀÚ °³ÀÎŰ
content - º¹È£È­µÈ ¸Þ½ÃÁö
Throws:
java.io.IOException - ÀÎÁõ¼­ µðÄÚµù ½ÇÆÐ½Ã ¹ß»ý
ParsingException - Áö¿øÇÏÁö ¾Ê´Â ¼ö½ÅÀÚ Á¤º¸ ÇüŰ¡ ÀÖ´Â °æ¿ì¿¡ ¹ß»ý
java.security.InvalidKeyException - ¾Ë°í¸®Áò¿¡ ´ëÇÑ ÀûÇÕÇÑ Å°(À߸øµÈ ÀÎÄÚµù, À߸øµÈ ±æÀÌ, ÃʱâÈ­ µÇÁö ¾ÊÀ½ µî)°¡ ¾Æ´Ñ °æ¿ì¿¡ ¹ß»ý
java.security.NoSuchAlgorithmException - Áö¿øÇÏÁö ¾Ê´Â ¾Ë°í¸®ÁòÀÏ °æ¿ì¿¡ ¹ß»ý
javax.crypto.NoSuchPaddingException - Áö¿øÇÏÁö ¾Ê´Â ÆÐµù Á¾·ùÀÏ °æ¿ì¿¡ ¹ß»ý
NoSuchModeException - Áö¿øÇÏÁö ¾Ê´Â ¾ÏÈ£ ¸ðµåÀÏ °æ¿ì¿¡ ¹ß»ý
NotForUserException - ÇØ´ç ¼ö½ÅÀڷΠó¸®ÇÒ ¼ö ¾øÀ» °æ¿ì¿¡ ¹ß»ý
java.security.NoSuchProviderException - Áö¿øÇÏÁö ¾Ê´Â ¾ÏÈ£ ¸ðµâ Á¦°øÀÚÀÏ °æ¿ì¿¡ ¹ß»ý
javax.crypto.IllegalBlockSizeException - ÀÔ·Â µ¥ÀÌÅÍÀÇ ±æÀ̰¡ ºí·° ¾Ë°í¸®Áò¿¡ ÀûÇÕÇÏÁö ¾Ê´Â °æ¿ì¿¡ ¹ß»ý
javax.crypto.BadPaddingException - ÀԷ°ªÀÌ ÁöÁ¤µÈ ÆÐµù ŸÀÔÀ¸·Î ÆÐµù µÇ¾îÀÖÁö ¾ÊÀº °æ¿ì¿¡ ¹ß»ý
java.security.InvalidAlgorithmParameterException - ¾Ë°í¸®Áò ÆÄ¶ó¸ÞÅͰ¡ ÀûÇÕÇÏÁö ¾ÊÀº °æ¿ì¿¡ ¹ß»ý

decrypt

public void decrypt(X509Certificate myCert,
                    PKCS8PrivateKeyInfo myPriKeyInfo,
                    java.io.InputStream encContent,
                    java.io.OutputStream content)
             throws java.io.IOException,
                    ParsingException,
                    java.security.InvalidKeyException,
                    java.security.NoSuchAlgorithmException,
                    javax.crypto.NoSuchPaddingException,
                    NoSuchModeException,
                    NotForUserException,
                    java.security.NoSuchProviderException,
                    javax.crypto.IllegalBlockSizeException,
                    javax.crypto.BadPaddingException,
                    java.security.InvalidAlgorithmParameterException
¼ö½ÅÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎ۸¦ ÀÌ¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ º¹È£È­ÇÑ´Ù.

Parameters:
myCert - ¼ö½ÅÀÚ ÀÎÁõ¼­
myPriKeyInfo - ¼ö½ÅÀÚ °³ÀÎŰ
encContent - ¾ÏȣȭµÈ ¸Þ½ÃÁö (º¹È£È­ÇÒ ¸Þ½ÃÁö)
content - º¹È£È­µÈ ¸Þ½ÃÁö
Returns:
º¹È£È­µÈ ¸Þ½ÃÁö
Throws:
java.io.IOException - ÀÎÁõ¼­ µðÄÚµù ½ÇÆÐ½Ã ¹ß»ý
ParsingException - Áö¿øÇÏÁö ¾Ê´Â ¼ö½ÅÀÚ Á¤º¸ ÇüŰ¡ ÀÖ´Â °æ¿ì¿¡ ¹ß»ý
java.security.InvalidKeyException - ¾Ë°í¸®Áò¿¡ ´ëÇÑ ÀûÇÕÇÑ Å°(À߸øµÈ ÀÎÄÚµù, À߸øµÈ ±æÀÌ, ÃʱâÈ­ µÇÁö ¾ÊÀ½ µî)°¡ ¾Æ´Ñ °æ¿ì¿¡ ¹ß»ý
java.security.NoSuchAlgorithmException - Áö¿øÇÏÁö ¾Ê´Â ¾Ë°í¸®ÁòÀÏ °æ¿ì¿¡ ¹ß»ý
javax.crypto.NoSuchPaddingException - Áö¿øÇÏÁö ¾Ê´Â ÆÐµù Á¾·ùÀÏ °æ¿ì¿¡ ¹ß»ý
NoSuchModeException - Áö¿øÇÏÁö ¾Ê´Â ¾ÏÈ£ ¸ðµåÀÏ °æ¿ì¿¡ ¹ß»ý
NotForUserException - ÇØ´ç ¼ö½ÅÀڷΠó¸®ÇÒ ¼ö ¾øÀ» °æ¿ì¿¡ ¹ß»ý
java.security.NoSuchProviderException - Áö¿øÇÏÁö ¾Ê´Â ¾ÏÈ£ ¸ðµâ Á¦°øÀÚÀÏ °æ¿ì¿¡ ¹ß»ý
javax.crypto.IllegalBlockSizeException - ÀÔ·Â µ¥ÀÌÅÍÀÇ ±æÀ̰¡ ºí·° ¾Ë°í¸®Áò¿¡ ÀûÇÕÇÏÁö ¾Ê´Â °æ¿ì¿¡ ¹ß»ý
javax.crypto.BadPaddingException - ÀԷ°ªÀÌ ÁöÁ¤µÈ ÆÐµù ŸÀÔÀ¸·Î ÆÐµù µÇ¾îÀÖÁö ¾ÊÀº °æ¿ì¿¡ ¹ß»ý
java.security.InvalidAlgorithmParameterException - ¾Ë°í¸®Áò ÆÄ¶ó¸ÞÅͰ¡ ÀûÇÕÇÏÁö ¾ÊÀº °æ¿ì¿¡ ¹ß»ý
Since:
1.3.0.0

decrypt

public byte[] decrypt(X509Certificate myCert,
                      PKCS8PrivateKeyInfo myPriKeyInfo)
               throws java.io.IOException,
                      ParsingException,
                      java.security.InvalidKeyException,
                      java.security.NoSuchAlgorithmException,
                      javax.crypto.NoSuchPaddingException,
                      NoSuchModeException,
                      NotForUserException,
                      java.security.NoSuchProviderException,
                      javax.crypto.IllegalBlockSizeException,
                      javax.crypto.BadPaddingException,
                      java.security.InvalidAlgorithmParameterException
¼ö½ÅÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎ۸¦ ÀÌ¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ º¹È£È­ÇÑ´Ù.

Parameters:
myCert - ¼ö½ÅÀÚ ÀÎÁõ¼­
myPriKeyInfo - ¼ö½ÅÀÚ °³ÀÎŰ
Returns:
º¹È£È­µÈ ¸Þ½ÃÁö
Throws:
java.io.IOException - ÀÎÁõ¼­ µðÄÚµù ½ÇÆÐ½Ã ¹ß»ý
ParsingException - Áö¿øÇÏÁö ¾Ê´Â ¼ö½ÅÀÚ Á¤º¸ ÇüŰ¡ ÀÖ´Â °æ¿ì¿¡ ¹ß»ý
java.security.InvalidKeyException - ¾Ë°í¸®Áò¿¡ ´ëÇÑ ÀûÇÕÇÑ Å°(À߸øµÈ ÀÎÄÚµù, À߸øµÈ ±æÀÌ, ÃʱâÈ­ µÇÁö ¾ÊÀ½ µî)°¡ ¾Æ´Ñ °æ¿ì¿¡ ¹ß»ý
java.security.NoSuchAlgorithmException - Áö¿øÇÏÁö ¾Ê´Â ¾Ë°í¸®ÁòÀÏ °æ¿ì¿¡ ¹ß»ý
javax.crypto.NoSuchPaddingException - Áö¿øÇÏÁö ¾Ê´Â ÆÐµù Á¾·ùÀÏ °æ¿ì¿¡ ¹ß»ý
NoSuchModeException - Áö¿øÇÏÁö ¾Ê´Â ¾ÏÈ£ ¸ðµåÀÏ °æ¿ì¿¡ ¹ß»ý
NotForUserException - ÇØ´ç ¼ö½ÅÀڷΠó¸®ÇÒ ¼ö ¾øÀ» °æ¿ì¿¡ ¹ß»ý
java.security.NoSuchProviderException - Áö¿øÇÏÁö ¾Ê´Â ¾ÏÈ£ ¸ðµâ Á¦°øÀÚÀÏ °æ¿ì¿¡ ¹ß»ý
javax.crypto.IllegalBlockSizeException - ÀÔ·Â µ¥ÀÌÅÍÀÇ ±æÀ̰¡ ºí·° ¾Ë°í¸®Áò¿¡ ÀûÇÕÇÏÁö ¾Ê´Â °æ¿ì¿¡ ¹ß»ý
javax.crypto.BadPaddingException - ÀԷ°ªÀÌ ÁöÁ¤µÈ ÆÐµù ŸÀÔÀ¸·Î ÆÐµù µÇ¾îÀÖÁö ¾ÊÀº °æ¿ì¿¡ ¹ß»ý
java.security.InvalidAlgorithmParameterException - ¾Ë°í¸®Áò ÆÄ¶ó¸ÞÅͰ¡ ÀûÇÕÇÏÁö ¾ÊÀº °æ¿ì¿¡ ¹ß»ý

decrypt

public byte[] decrypt(X509Certificate myCert,
                      PKCS8PrivateKeyInfo myPriKeyInfo,
                      java.io.InputStream encContent)
               throws java.io.IOException,
                      ParsingException,
                      java.security.InvalidKeyException,
                      java.security.NoSuchAlgorithmException,
                      javax.crypto.NoSuchPaddingException,
                      NoSuchModeException,
                      NotForUserException,
                      java.security.NoSuchProviderException,
                      javax.crypto.IllegalBlockSizeException,
                      javax.crypto.BadPaddingException,
                      java.security.InvalidAlgorithmParameterException
¼ö½ÅÀÚÀÇ ÀÎÁõ¼­¿Í °³ÀÎ۸¦ ÀÌ¿ëÇÏ¿© ¸Þ½ÃÁö¸¦ º¹È£È­ÇÑ´Ù.

Parameters:
myCert - ¼ö½ÅÀÚ ÀÎÁõ¼­
myPriKeyInfo - ¼ö½ÅÀÚ °³ÀÎŰ
encContent - ¾ÏȣȭµÈ ¸Þ½ÃÁö (º¹È£È­ÇÒ ¸Þ½ÃÁö)
Returns:
º¹È£È­µÈ ¸Þ½ÃÁö
Throws:
java.io.IOException - ÀÎÁõ¼­ µðÄÚµù ½ÇÆÐ½Ã ¹ß»ý
ParsingException - Áö¿øÇÏÁö ¾Ê´Â ¼ö½ÅÀÚ Á¤º¸ ÇüŰ¡ ÀÖ´Â °æ¿ì¿¡ ¹ß»ý
java.security.InvalidKeyException - ¾Ë°í¸®Áò¿¡ ´ëÇÑ ÀûÇÕÇÑ Å°(À߸øµÈ ÀÎÄÚµù, À߸øµÈ ±æÀÌ, ÃʱâÈ­ µÇÁö ¾ÊÀ½ µî)°¡ ¾Æ´Ñ °æ¿ì¿¡ ¹ß»ý
java.security.NoSuchAlgorithmException - Áö¿øÇÏÁö ¾Ê´Â ¾Ë°í¸®ÁòÀÏ °æ¿ì¿¡ ¹ß»ý
javax.crypto.NoSuchPaddingException - Áö¿øÇÏÁö ¾Ê´Â ÆÐµù Á¾·ùÀÏ °æ¿ì¿¡ ¹ß»ý
NoSuchModeException - Áö¿øÇÏÁö ¾Ê´Â ¾ÏÈ£ ¸ðµåÀÏ °æ¿ì¿¡ ¹ß»ý
NotForUserException - ÇØ´ç ¼ö½ÅÀڷΠó¸®ÇÒ ¼ö ¾øÀ» °æ¿ì¿¡ ¹ß»ý
java.security.NoSuchProviderException - Áö¿øÇÏÁö ¾Ê´Â ¾ÏÈ£ ¸ðµâ Á¦°øÀÚÀÏ °æ¿ì¿¡ ¹ß»ý
javax.crypto.IllegalBlockSizeException - ÀÔ·Â µ¥ÀÌÅÍÀÇ ±æÀ̰¡ ºí·° ¾Ë°í¸®Áò¿¡ ÀûÇÕÇÏÁö ¾Ê´Â °æ¿ì¿¡ ¹ß»ý
javax.crypto.BadPaddingException - ÀԷ°ªÀÌ ÁöÁ¤µÈ ÆÐµù ŸÀÔÀ¸·Î ÆÐµù µÇ¾îÀÖÁö ¾ÊÀº °æ¿ì¿¡ ¹ß»ý
java.security.InvalidAlgorithmParameterException - ¾Ë°í¸®Áò ÆÄ¶ó¸ÞÅͰ¡ ÀûÇÕÇÏÁö ¾ÊÀº °æ¿ì¿¡ ¹ß»ý
Since:
1.3.0.0

getKey

public java.security.Key getKey()
¸Þ½ÃÁö ¾Ïȣȭ¿¡ »ç¿ëµÇ¾ú´ø ´ëĪ۸¦ ȹµæÇÑ´Ù.

Returns:
´ëĪŰ
See Also:
getParameter()

getParameter

public java.security.spec.AlgorithmParameterSpec getParameter()
¸Þ½ÃÁö ¾Ïȣȭ¿¡ »ç¿ëµÇ¾ú´ø ´ëĪŰ ¾Ë°í¸®ÁòÀÇ ÆÄ¶ó¸ÞÅÍ (IV µî)¸¦ ȹµæÇÑ´Ù.

Returns:
¾Ë°í¸®Áò ÆÄ¶ó¸ÞÅÍ (IV)
See Also:
getKey()

seperate

public static EnvelopedData seperate(java.io.InputStream envData,
                                     java.io.OutputStream cipherText)
                              throws java.io.IOException,
                                     ParsingException
¾ÏÈ£¹®À» Æ÷ÇÔÇÏ´Â ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö (EnvelopedData)¸¦ ¾ÏÈ£¹®°ú ¾ÏÈ£ ¸Þ½ÃÁö¸¦ ºÐ¸®ÇÑ´Ù.

Parameters:
envData - ¾ÏÈ£¹®À» Æ÷ÇÔÇÏ´Â ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö (EnvelopedData)
cipherText - ºÐ¸®µÈ ¾ÏÈ£¹®
Returns:
¾ÏÈ£¹®À» ºÐ¸®ÇÑ ºñ´ëĪŰ ¾ÏÈ£ ¸Þ½ÃÁö (EnvelopedData)
Throws:
java.io.IOException - ÀÔ/Ãâ·Â ¿¹¿Ü ¹ß»ý
ParsingException - ºñ´ëĪŰ ¾ÏÈ£¹® ó¸® ½ÇÆÐ ½Ã

JCaosLib
V1.4.4.0


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