JCaosLib
V1.4.4.0

com.dreamsecurity.jcaos.pkcs
Class PKCS12

java.lang.Object
  extended bycom.dreamsecurity.jcaos.pkcs.PKCS12

public class PKCS12
extends java.lang.Object

ÀÎÁõ¼­, °³ÀÎŰ¿Í °°Àº Áß¿äÇÑ °³ÀÎ Á¤º¸¸¦ À̵¿Çϱâ À§ÇÑ À§ÇÑ Å¬·¡½ºÀÌ´Ù. ÇØ´ç ³»¿ëÀº Ç¥Áع®¼­ "PKCS#12" ¿¡¼­ ±â¼úÇϰí ÀÖ´Ù.

ºñ¹Ð¹øÈ£¸¦ ÀÌ¿ëÇÑ Å° À¯µµ¸¸À» Á¦°øÇÑ´Ù.

PFX ASN.1 Æ÷¸ËÀº ´ÙÀ½°ú °°´Ù.

 PFX ::= SEQUENCE {
 		version INTEGER {v3(3)}(v3,...),
 		authSafe ContentInfo,
 		macData MacData OPTIONAL
 }
 
 MacData ::= SEQUENCE {
 		mac DigestInfo,
 		macSalt OCTET STRING,
 		iterations INTEGER DEFAULT 1
 		- Note: The default is for historical reasons and its use is deprecated. A higher
 		-- value, like 1024, is recommended.
 }
 

Since:
1.0.0.0

Constructor Summary
PKCS12(byte[] password)
          °³ÀÎÁ¤º¸ ¾Ï/º¹È£È­¿¡ »ç¿ëÇÒ ºñ¹Ð¹øÈ£¸¦ ¼³Á¤ÇÏ¿© PKCS12 Ŭ·¡½º¸¦ ÃʱâÈ­ ÇÑ´Ù.
PKCS12(java.lang.String password)
          °³ÀÎÁ¤º¸ ¾Ï/º¹È£È­¿¡ »ç¿ëÇÒ ºñ¹Ð¹øÈ£¸¦ ¼³Á¤ÇÏ¿© PKCS12 Ŭ·¡½º¸¦ ÃʱâÈ­ ÇÑ´Ù.
 
Method Summary
 void add(X509Certificate cert)
          À̵¿ÇÒ ÀÎÁõ¼­¸¦ Ãß°¡ÇÑ´Ù.
 void add(X509Certificate cert, PKCS8PrivateKeyInfo priKey)
          À̵¿ÇÒ ÀÎÁõ¼­¿Í °³ÀÎŰ ½ÖÀ» Ãß°¡ÇÑ´Ù.
 byte[] exportPFX()
          °³ÀÎ Á¤º¸¸¦ À̵¿Çϱâ À§ÇÑ ¾Ïȣȭ ¹× ÀÎÁõ Æ÷¸ËÀ» »ý¼ºÇÑ´Ù.
 java.util.ArrayList getCaCerts()
          À̵¿ÇÑ °³ÀÎ Á¤º¸¸¦ ó¸®ÇÑ ÈÄ, Æ÷ÇԵǾîÀÖ´ø ÀÎÁõ±â°ü ÀÎÁõ¼­¸¦ ȹµæÇÑ´Ù.
 java.util.ArrayList getCerts()
          À̵¿ÇÑ °³ÀÎ Á¤º¸¸¦ ó¸®ÇÑ ÈÄ, Æ÷ÇԵǾîÀÖ´ø ÀÎÁõ¼­¸¦ ȹµæÇÑ´Ù.
 java.util.ArrayList getPriKeys()
          À̵¿ÇÑ °³ÀÎ Á¤º¸¸¦ ó¸®ÇÑ ÈÄ, Æ÷ÇԵǾîÀÖ´ø °³ÀÎ۸¦ ȹµæÇÑ´Ù.
 void importPFX(byte[] data)
          À̵¿µÈ °³ÀÎ Á¤º¸¸¦ ó¸®ÇÑ´Ù.
 void setCertBagPBEAlg(java.lang.String alg)
          ÀÎÁõ¼­ ¾Ïȣȭ ¾Ë°í¸®ÁòÀ» ¼³Á¤ÇÑ´Ù.
 void setIterationCountForEnc(int count)
          °³ÀÎ Á¤º¸¸¦ ¾Ïȣȭ¸¦ À§Çؼ­ ۸¦ À¯µµÇÒ¶§ »ç¿ëÇÏ´Â ¹Ýº¹È½¼ö(IterationCount) °ªÀ» ÁöÁ¤ÇÑ´Ù.
 void setIterationCountForMac(int count)
          °³ÀÎ Á¤º¸ º¯°æ ¹æÁö¸¦ À§ÇÑ ÀÎÁõ ÄÚµå »ý¼º ½Ã »ç¿ëÇÒ Å°¸¦ À¯µµÇÒ¶§ »ç¿ëÇÏ´Â ¹Ýº¹È½¼ö(IterationCount) °ªÀ» ÁöÁ¤ÇÑ´Ù.
 void setPKCS8ShroudedKeyBagPBEAlg(java.lang.String alg)
          °³ÀÎŰ ¾Ïȣȭ ¾Ë°í¸®ÁòÀ» ¼³Á¤ÇÑ´Ù.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PKCS12

public PKCS12(java.lang.String password)
°³ÀÎÁ¤º¸ ¾Ï/º¹È£È­¿¡ »ç¿ëÇÒ ºñ¹Ð¹øÈ£¸¦ ¼³Á¤ÇÏ¿© PKCS12 Ŭ·¡½º¸¦ ÃʱâÈ­ ÇÑ´Ù.

Parameters:
password - String Çü½ÄÀÇ ºñ¹Ð¹øÈ£

PKCS12

public PKCS12(byte[] password)
°³ÀÎÁ¤º¸ ¾Ï/º¹È£È­¿¡ »ç¿ëÇÒ ºñ¹Ð¹øÈ£¸¦ ¼³Á¤ÇÏ¿© PKCS12 Ŭ·¡½º¸¦ ÃʱâÈ­ ÇÑ´Ù.

Parameters:
password - byte ¹è¿­ Çü½ÄÀÇ ºñ¹Ð¹øÈ£
Method Detail

setCertBagPBEAlg

public void setCertBagPBEAlg(java.lang.String alg)
ÀÎÁõ¼­ ¾Ïȣȭ ¾Ë°í¸®ÁòÀ» ¼³Á¤ÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é "SHAAnd40BitRC2/CBC"°¡ »ç¿ëµÈ´Ù.

ÇöÀç Áö¿ø ¾Ë°í¸®Áò : SHAAndDESede/CBC, SHAAnd128BitRC2/CBC, SHAAnd40BitRC2/CBC

Parameters:
alg - ÀÎÁõ¼­ ¾Ïȣȭ ¾Ë°í¸®Áò

setPKCS8ShroudedKeyBagPBEAlg

public void setPKCS8ShroudedKeyBagPBEAlg(java.lang.String alg)
°³ÀÎŰ ¾Ïȣȭ ¾Ë°í¸®ÁòÀ» ¼³Á¤ÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é "SHAAndDESede/CBC"°¡ »ç¿ëµÈ´Ù.

ÇöÀç Áö¿ø ¾Ë°í¸®Áò : SHAAndDESede/CBC, SHAAnd128BitRC2/CBC, SHAAnd40BitRC2/CBC

Parameters:
alg - °³ÀÎŰ ¾Ïȣȭ ¾Ë°í¸®Áò

setIterationCountForEnc

public void setIterationCountForEnc(int count)
°³ÀÎ Á¤º¸¸¦ ¾Ïȣȭ¸¦ À§Çؼ­ ۸¦ À¯µµÇÒ¶§ »ç¿ëÇÏ´Â ¹Ýº¹È½¼ö(IterationCount) °ªÀ» ÁöÁ¤ÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é 2000ÀÌ »ç¿ëµÈ´Ù.

Parameters:
count - ¹Ýº¹ Ƚ¼ö

setIterationCountForMac

public void setIterationCountForMac(int count)
°³ÀÎ Á¤º¸ º¯°æ ¹æÁö¸¦ À§ÇÑ ÀÎÁõ ÄÚµå »ý¼º ½Ã »ç¿ëÇÒ Å°¸¦ À¯µµÇÒ¶§ »ç¿ëÇÏ´Â ¹Ýº¹È½¼ö(IterationCount) °ªÀ» ÁöÁ¤ÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é 1024°¡ »ç¿ëµÈ´Ù.

Parameters:
count - ¹Ýº¹ Ƚ¼ö

add

public void add(X509Certificate cert,
                PKCS8PrivateKeyInfo priKey)
À̵¿ÇÒ ÀÎÁõ¼­¿Í °³ÀÎŰ ½ÖÀ» Ãß°¡ÇÑ´Ù.

Parameters:
cert - ÀÎÁõ¼­
priKey - °³ÀÎŰ

add

public void add(X509Certificate cert)
À̵¿ÇÒ ÀÎÁõ¼­¸¦ Ãß°¡ÇÑ´Ù. À̶§ Ãß°¡µÇ´Â ÀÎÁõ¼­´Â ÀϹÝÀûÀ¸·Î ÇÔ²² À̵¿ÇÒ °³ÀÎŰ ½Ö ¾ø´Â ÀÎÁõ±â°ü ÀÎÁõ¼­°¡ µÈ´Ù.

Parameters:
cert - ÀÎÁõ¼­

getPriKeys

public java.util.ArrayList getPriKeys()
À̵¿ÇÑ °³ÀÎ Á¤º¸¸¦ ó¸®ÇÑ ÈÄ, Æ÷ÇԵǾîÀÖ´ø °³ÀÎ۸¦ ȹµæÇÑ´Ù. ¸ñ·Ï¿¡ ÀÖ´Â °¢ °³ÀÎŰ´Â getCerts ¸Þ¼Òµå·Î ȹµæÇÑ ÀÎÁõ¼­¿Í °°Àº À妽º¿¡ ´ëÇØ¼­ ½ÖÀ̵ȴÙ.

Returns:
ArrayList Çü½ÄÀÇ °³ÀÎŰ ¸ñ·Ï. °¢°¢Àº PKCS8PrivateKeyInfo Çü½ÄÀÇ °³ÀÎŰÀÌ´Ù.
See Also:
getCaCerts()

getCerts

public java.util.ArrayList getCerts()
À̵¿ÇÑ °³ÀÎ Á¤º¸¸¦ ó¸®ÇÑ ÈÄ, Æ÷ÇԵǾîÀÖ´ø ÀÎÁõ¼­¸¦ ȹµæÇÑ´Ù. ¸ñ·Ï¿¡ ÀÖ´Â °¢ ÀÎÁõ¼­´Â getPriKeys() ¸Þ¼Òµå·Î ȹµæÇÑ °³ÀÎŰ¿Í °°Àº À妽º¿¡ ´ëÇØ¼­ ½ÖÀ̵ȴÙ.

Returns:
ArrayList Çü½ÄÀÇ ÀÎÁõ¼­ ¸ñ·Ï. °¢°¢Àº X509Certificate Çü½ÄÀÇ ÀÎÁõ¼­ÀÌ´Ù.

getCaCerts

public java.util.ArrayList getCaCerts()
À̵¿ÇÑ °³ÀÎ Á¤º¸¸¦ ó¸®ÇÑ ÈÄ, Æ÷ÇԵǾîÀÖ´ø ÀÎÁõ±â°ü ÀÎÁõ¼­¸¦ ȹµæÇÑ´Ù.

Returns:
ArrayList Çü½ÄÀÇ ÀÎÁõ¼­ ¸ñ·Ï. °¢°¢Àº X509Certificate Çü½ÄÀÇ ÀÎÁõ¼­ÀÌ´Ù.

exportPFX

public byte[] exportPFX()
                 throws java.io.IOException,
                        java.security.NoSuchProviderException,
                        java.security.NoSuchAlgorithmException,
                        javax.crypto.NoSuchPaddingException,
                        java.security.InvalidAlgorithmParameterException,
                        javax.crypto.BadPaddingException,
                        javax.crypto.IllegalBlockSizeException,
                        java.security.InvalidKeyException
°³ÀÎ Á¤º¸¸¦ À̵¿Çϱâ À§ÇÑ ¾Ïȣȭ ¹× ÀÎÁõ Æ÷¸ËÀ» »ý¼ºÇÑ´Ù.

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

importPFX

public void importPFX(byte[] data)
               throws java.io.IOException,
                      VerifyException,
                      ParsingException,
                      javax.crypto.BadPaddingException,
                      java.security.InvalidKeyException,
                      javax.crypto.NoSuchPaddingException,
                      java.security.spec.InvalidKeySpecException,
                      java.security.NoSuchProviderException,
                      java.security.NoSuchAlgorithmException,
                      javax.crypto.IllegalBlockSizeException,
                      java.security.InvalidAlgorithmParameterException
À̵¿µÈ °³ÀÎ Á¤º¸¸¦ ó¸®ÇÑ´Ù.

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

JCaosLib
V1.4.4.0


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