JCaosLib
V1.4.4.0

com.dreamsecurity.jcaos.pkcs
Class PKCS8

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

public class PKCS8
extends java.lang.Object

ºñ¹Ð¹øÈ£ ±â¹ÝÀÇ °³ÀÎŰ ¾Ïȣȭ ¶Ç´Â º¹È£È­¸¦ À§ÇÑ Å¬·¡½ºÀÌ´Ù. PKCS#5 Ç¥ÁØÀ» ±â¹ÝÀ¸·Î ÇÏ¿© ¾Ï/º¹È£È­ ¸¦ ¼öÇàÇÑ´Ù.

°³ÀÎŰ, ¾ÏȣȭµÈ °³ÀÎŰ¿¡ ´ëÇÑ ±¸Á¶´Â Ç¥Áع®¼­ "PKCS#8" ¿¡¼­ È®ÀÎÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ºñ¹Ð¹øÈ£¸¦ ±â¹ÝÀ¸·Î ÇÑ ¾Ï/º¹È£È­¿¡ ´ëÇÑ Ç¥Áع®¼­ "PKCS#5" ¿¡ ±â¼úµÇ¾îÀÖ´Ù.

°³ÀÎŰ Á¤º¸¿Í ¾ÏȣȭµÈ °³ÀÎŰ Á¤º¸ÀÇ ASN.1 Æ÷¸ËÀº ´ÙÀ½°ú °°´Ù.

 PrivateKeyInfo ::= SEQUENCE {
		version 					Version,
		privateKeyAlgorithm 		AlgorithmIdentifier {{PrivateKeyAlgorithms}},
		privateKey 				PrivateKey,
		attributes 			[0] Attributes OPTIONAL }
 
 EncryptedPrivateKeyInfo ::= SEQUENCE {
 		encryptionAlgorithm AlgorithmIdentifier {{KeyEncryptionAlgorithms}},
		encryptedData EncryptedData }
 

Since:
1.0.0.0

Constructor Summary
PKCS8(java.lang.String password)
          °³ÀÎŰ ¾Ï/º¹È£È­¿¡ »ç¿ëÇÒ ºñ¹Ð¹øÈ£¸¦ ¼³Á¤ÇÏ¿© PKCS8 Ŭ·¡½º¸¦ ÃʱâÈ­ ÇÑ´Ù.
 
Method Summary
 PKCS8PrivateKeyInfo decrypt(byte[] encPriKey)
          ¾ÏȣȭµÈ °³ÀÎ۸¦ º¹È£È­ÇÑ´Ù.
 byte[] encrypt(PKCS8PrivateKeyInfo priKeyInfo)
          °³ÀÎ۸¦ ¾ÏȣȭÇÑ´Ù.
 void setIterationCount(int cnt)
          Å°¸¦ À¯µµÇÒ¶§ »ç¿ëµÇ´Â interation count °ªÀ» ÁöÁ¤ÇÑ´Ù.
 void setPBES1Algorithm(java.lang.String pbes)
          PKCS#5 V1.5 ¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© °³ÀÎ۸¦ ¾ÏȣȭÇÑ´Ù.
 void setPBES2Algorithm(java.lang.String pbes)
          PKCS#5 V2.0 ¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© °³ÀÎ۸¦ ¾ÏȣȭÇÑ´Ù.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PKCS8

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

Parameters:
password - ºñ¹Ð¹øÈ£
Method Detail

setPBES1Algorithm

public void setPBES1Algorithm(java.lang.String pbes)
PKCS#5 V1.5 ¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© °³ÀÎ۸¦ ¾ÏȣȭÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é V2.0ÀÇ HmacSHA1, SEED/CBC·Î ¾Ïȣȭ µÈ´Ù.

Áö¿ø ¾Ë°í¸®Áò : "SEED/CBC", "DES/CBC"

Parameters:
pbes - ´ëĪŰ ¾Ë°í¸®Áò

setPBES2Algorithm

public void setPBES2Algorithm(java.lang.String pbes)
PKCS#5 V2.0 ¹æ¹ýÀ» ÀÌ¿ëÇÏ¿© °³ÀÎ۸¦ ¾ÏȣȭÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é V2.0ÀÇ HmacSHA1, SEED/CBC·Î ¾Ïȣȭ µÈ´Ù.

Áö¿ø ¾Ë°í¸®Áò : "SEED/CBC", "ARIA/CBC", "DESede/CBC", "DES/CBC"

Parameters:
pbes - ´ëĪŰ ¾Ë°í¸®Áò

setIterationCount

public void setIterationCount(int cnt)
۸¦ À¯µµÇÒ¶§ »ç¿ëµÇ´Â interation count °ªÀ» ÁöÁ¤ÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ±âº»°ª 1024°¡ ¼³Á¤µÈ´Ù.

Parameters:
cnt - interation count

encrypt

public byte[] encrypt(PKCS8PrivateKeyInfo priKeyInfo)
               throws java.io.IOException,
                      AlgorithmException,
                      java.security.NoSuchAlgorithmException,
                      NoSuchModeException,
                      javax.crypto.NoSuchPaddingException,
                      java.security.NoSuchProviderException,
                      java.security.InvalidKeyException,
                      javax.crypto.BadPaddingException,
                      javax.crypto.IllegalBlockSizeException,
                      java.security.InvalidAlgorithmParameterException
°³ÀÎ۸¦ ¾ÏȣȭÇÑ´Ù.

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

decrypt

public PKCS8PrivateKeyInfo decrypt(byte[] encPriKey)
                            throws java.io.IOException,
                                   ParsingException,
                                   AlgorithmException,
                                   java.security.NoSuchAlgorithmException,
                                   javax.crypto.NoSuchPaddingException,
                                   java.security.NoSuchProviderException,
                                   NoSuchModeException,
                                   java.security.InvalidKeyException,
                                   ConfirmPasswordException,
                                   java.security.InvalidAlgorithmParameterException
¾ÏȣȭµÈ °³ÀÎ۸¦ º¹È£È­ÇÑ´Ù.

Parameters:
encPriKey - ¾ÏȣȭµÈ °³ÀÎŰ
Returns:
º¹È£È­µÈ °³ÀÎŰ
Throws:
ConfirmPasswordException - °³ÀÎŰ ºñ¹Ð¹øÈ£°¡ Ʋ¸° °æ¿ì¿¡ ¹ß»ý
java.io.IOException - ¾ÏȣȭµÈ °³ÀÎŰ µðÄÚµù ½ÇÆÐ ½Ã ¹ß»ý
ParsingException - Áö¿øÇÏÁö ¾Ê´Â ¸Þ½ÃÁö °ªÀÌ Á¸ÀçÇÒ¶§ ¹ß»ý
java.security.NoSuchAlgorithmException - Áö¿øÇÏÁö ¾Ê´Â ¾Ë°í¸®ÁòÀÏ °æ¿ì¿¡ ¹ß»ý
javax.crypto.NoSuchPaddingException - Áö¿øÇÏÁö ¾Ê´Â ÆÐµù Á¾·ùÀÏ °æ¿ì¿¡ ¹ß»ý
NoSuchModeException - Áö¿øÇÏÁö ¾Ê´Â ¾ÏÈ£ ¸ðµåÀÏ °æ¿ì¿¡ ¹ß»ý
java.security.NoSuchProviderException - Áö¿øÇÏÁö ¾Ê´Â ¾ÏÈ£ ¸ðµâ Á¦°øÀÚÀÏ °æ¿ì¿¡ ¹ß»ý
java.security.InvalidKeyException - ¾Ë°í¸®Áò¿¡ ´ëÇÑ ÀûÇÕÇÑ Å°(À߸øµÈ ÀÎÄÚµù, À߸øµÈ ±æÀÌ, ÃʱâÈ­ µÇÁö ¾ÊÀ½ µî)°¡ ¾Æ´Ñ °æ¿ì¿¡ ¹ß»ý
java.security.InvalidAlgorithmParameterException - ¾Ë°í¸®Áò ÆÄ¶ó¸ÞÅͰ¡ ÀûÇÕÇÏÁö ¾ÊÀº °æ¿ì¿¡ ¹ß»ý
AlgorithmException

JCaosLib
V1.4.4.0


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