keytool - ÃÜÔ¿ºÍÖ¤Êé¹ÜÀí¹¤¾ß

¹ÜÀíÓÉ˽ԿºÍÈÏÖ¤Ïà¹Ø¹«Ô¿µÄ X.509 Ö¤ÊéÁ´×é³ÉµÄÃÜÔ¿²Ö¿â£¨Êý¾Ý¿â£©¡£»¹¹ÜÀíÀ´×Ô¿ÉÐÅÈÎʵÌåµÄÖ¤Êé¡£
   

½á¹¹

keytool [ ÃüÁî ]

˵Ã÷


keytool ÊǸöÃÜÔ¿ºÍÖ¤Êé¹ÜÀí¹¤¾ß¡£ËüʹÓû§Äܹ»¹ÜÀí×Ô¼ºµÄ¹«Ô¿/˽Կ¶Ô¼°Ïà¹ØÖ¤Ê飬ÓÃÓÚ£¨Í¨¹ýÊý×ÖÇ©Ãû£©×ÔÎÒÈÏÖ¤£¨Óû§Ïò±ðµÄÓû§/·þÎñÈÏÖ¤×Ô¼º£©»òÊý¾ÝÍêÕûÐÔÒÔ¼°ÈÏÖ¤·þÎñ¡£Ëü»¹ÔÊÐíÓû§´¢´æËûÃǵÄͨÐŶԵÈÕߵĹ«Ô¿£¨ÒÔÖ¤ÊéÐÎʽ£©¡£

Ö¤ÊéÊÇÀ´×ÔÒ»¸öʵÌ壨¸öÈË¡¢¹«Ë¾µÈ£©µÄ¾­Êý×ÖÇ©ÃûµÄÉùÃ÷£¬ËüÉùÃ÷ijЩÆäËüʵÌåµÄ¹«Ô¿£¨¼°ÆäËüÐÅÏ¢£©¾ßÓÐijһµÄÌØ¶¨Öµ£¨²Î¼ûÖ¤Ê飩¡£µ±Êý¾Ý±»Êý×Ö»¯Ç©Ãûºó£¬Ð£ÑéÇ©Ãû¼´¿É¼ì²éÊý¾ÝµÄÍêÕûÐÔºÍÕæÊµÐÔ¡£ÍêÕûÐÔµÄÒâ˼ÊÇÊý¾ÝûÓб»Ð޸ĻòË𻵹ý£¬ÕæÊµÐÔµÄÒâ˼ÊÇÊý¾ÝµÄÈ·ÊÇÀ´×ÔÉù³Æ´´½¨Á˸ÃÊý¾ÝºÍ¶ÔËü½øÐÐÁËÇ©ÃûµÄʵÌå¡£

keytool ½«ÃÜÔ¿ºÍÖ¤Êé´¢´æÔÚÒ»¸öËùνµÄÃÜÔ¿²Ö¿âÖС£È±Ê¡µÄÃÜÔ¿²Ö¿âʵÏÖ½«ÃÜÔ¿²Ö¿âʵÏÖΪһ¸öÎļþ¡£ËüÓÿÚÁîÀ´±£»¤Ë½Ô¿¡£

jarsigner ¹¤¾ßÀûÓÃÃÜÔ¿²Ö¿âÖеÄÐÅÏ¢À´²úÉú»òУÑé Java ´æµµ (JAR) ÎļþµÄÊý×ÖÇ©Ãû £¨JAR Îļþ½«ÀàÎļþ¡¢Í¼Ïó¡¢ÉùÒôºÍ/»òÆäËüÊý×Ö»¯Êý¾Ý´ò°üÔÚÒ»¸öÎļþÖУ©¡£jarsigner Óà JAR ÎļþËù¸½´øµÄÖ¤Ê飨°üº¬ÓÚ JAR ÎļþµÄÇ©Ãû¿éÎļþÖУ©À´Ð£Ñé JAR ÎļþµÄÊý×ÖÇ©Ãû£¬È»ºó¼ì²é¸ÃÖ¤ÊéµÄ¹«Ô¿ÊÇ·ñ¡°¿ÉÐÅÈΡ±£¬¼´ÊÇ·ñ°üÀ¨ÔÚÖ¸¶¨µÄÃÜÔ¿²Ö¿âÖС£

Çë×¢Ò⣺keytool ºÍ jarsigner ¹¤¾ßÍêȫȡ´úÁË JDK 1.1 ÖÐÌṩµÄ javakey ¹¤¾ß¡£ÕâЩй¤¾ßËùÌṩµÄ¹¦ÄÜ±È javakey ÌṩµÄ¶à£¬°üÀ¨Äܹ»ÓÿÚÁîÀ´±£»¤ÃÜÔ¿²Ö¿âºÍ˽Կ£¬ÒÔ¼°³ýÁËÄܹ»Éú³ÉÇ©ÃûÍ⻹¿ÉÒÔУÑéËüÃÇ¡£ÐµÄÃÜÔ¿²Ö¿âÌåϵ½á¹¹È¡´úÁË javakey Ëù´´½¨ºÍ¹ÜÀíµÄÉí·ÝÊý¾Ý¿â¡£¿ÉÒÔÀûÓà -identitydb keytool ÃüÁÐÅÏ¢´ÓÉí·ÝÊý¾Ý¿âµ¼Èë ÃÜÔ¿²Ö¿â¡£

ÃÜÔ¿²Ö¿âÏî

ÔÚÃÜÔ¿²Ö¿âÖÐÓÐÁ½ÖÖ²»Í¬ÀàÐ͵ÄÏ
     
  1. ÃÜÔ¿Ïî - ÿÏî´æ·Å¼«ÎªÃô¸ÐµÄ¼ÓÃÜÃÜÔ¿ÐÅÏ¢£¬ÕâÖÖÐÅÏ¢ÒÔÒ»ÖÖÊܱ£»¤µÄ¸ñʽ´¢´æÒÔ·ÀֹδÊÚȨµÄ·ÃÎÊ¡£Í¨³££¬´¢´æÔÚÕâÀàÏîÖеÄÃÜÔ¿ÊÇ»úÃÜÃÜÔ¿£¬»òÊǰéÓÐÓÃÓÚÈÏÖ¤ÏàÓ¦¹«Ô¿ÓõÄÖ¤Êé¡°Á´¡±µÄ˽Կ¡£keytool ºÍ jarsigner ¹¤¾ßÖ»´¦ÀíºóÒ»ÀàÐ͵ÄÏ¼´Ë½Ô¿¼°Æä¹ØÁªµÄÖ¤ÊéÁ´¡£
  2. ¿ÉÐÅÈεÄÖ¤ÊéÏî - ÿÏî°üº¬Ò»¸öÊôÓÚÁíÒ»ÍÅÌåµÄ¹«Ô¿Ö¤Êé¡£ËüÖ®ËùÒÔ½Ð×ö¡°¿ÉÐÅÈεÄÖ¤Ê顱£¬ÊÇÒòΪÃÜÔ¿²Ö¿âµÄÓµÓÐÕßÏàÐÅÖ¤ÊéÖеĹ«Ô¿È·ÊµÊôÓÚÖ¤Êé¡°Ö÷Ì塱£¨ÓµÓÐÕߣ©Ê¶±ðµÄÉí·Ý¡£Ö¤ÊéÇ©·¢ÈËͨ¹ý¶ÔÖ¤ÊéÇ©ÃûÀ´±£Ö¤Õâµã¡£

ÃÜÔ¿²Ö¿âʹÓõıðÃû

¶ÔËùÓеÄÃÜÔ¿²Ö¿âÏÃÜÔ¿ÏîºÍ¿ÉÐÅÈεÄÖ¤ÊéÏµÄ·ÃÎʶ¼ÒªÍ¨¹ýΨһµÄ±ðÃûÀ´½øÐС£±ðÃû²»Çø·Ö´óСд£¬¼´±ðÃû Hugo ºÍ hugo Ö¸µÄÊÇͬһÃÜÔ¿²Ö¿âÏî¡£

µ±Óà -genkey ÃüÁîÀ´Éú³ÉÃÜÔ¿¶Ô£¨¹«Ô¿ºÍ˽Կ£©»òÓà -import ÃüÁîÀ´½«Ö¤Êé»òÖ¤ÊéÁ´¼Óµ½¿ÉÐÅÈÎÖ¤ÊéµÄÇåµ¥ÖУ¬ÒÔÔö¼ÓÒ»¸öʵÌåµ½ÃÜÔ¿²Ö¿âÖУ¬±ØÐëÖ¸¶¨ÁËÒ»¸ö±ðÃû¡£ºóÐø keytool ÃüÁî±ØÐëʹÓÃÕâÒ»ÏàͬµÄ±ðÃûÀ´ÒýÓøÃʵÌå¡£

ÀýÈ磬¼ÙÉèÄúÓñðÃû duke Éú³ÉÁËÐµĹ«Ô¿/˽ԿÃÜÔ¿¶Ô²¢½«¹«Ô¿ÓÃÒÔÏÂÃüÁî´ò°üµ½×ÔÇ©ÃûÖ¤ÊéÖУ¨²Î¼ûÖ¤ÊéÁ´£©£º

    keytool -genkey -alias duke -keypass dukekeypasswd
ÕâÖ¸¶¨ÁËÒ»¸ö³õʼ¿ÚÁî¡°dukekeypasswd¡±£¬½ÓÏÂÀ´µÄÃüÁҪʹÓøÿÚÁî²ÅÄÜ·ÃÎÊÓë±ðÃû duke Ïà¹ØÁªµÄ˽Կ¡£ÒÔºóÈç¹ûÄúÏë¸ü¸Ä duke µÄ ˽Կ¿ÚÁ¿ÉÓÃÀàËÆÏÂÊöµÄÃüÁ
    keytool -keypasswd -alias duke -keypass dukekeypasswd -new newpass
Õ⽫°Ñ¿ÚÁî´Ó¡°dukekeypasswd¡±¸ÄΪ¡°newpass¡±¡£

Çë×¢Ò⣺ʵ¼ÊÉÏ£¬³ý·ÇÊÇ×÷Ϊ²âÊÔÄ¿µÄ»òÊÇÔÚ°²È«µÄϵͳÉÏ£¬·ñÔò²»Ó¦ÔÚÃüÁîÐлò½Å±¾ÖÐÖ¸¶¨¿ÚÁî¡£Èç¹ûûÓÐÔÚÃüÁîÐÐÉÏÖ¸¶¨ËùÒªÇóµÄ¿ÚÁîÑ¡ÏÄú½«»áµÃµ½ÒªÇóÊäÈë¿ÚÁîµÄÌáʾ¡£µ±ÔÚ¿ÚÁîÌáʾ·ûϼüÈë¿ÚÁîʱ£¬¿ÚÁ±»¼´Ê±ÏÔʾ³öÀ´£¨¼üÈëʲô¾ÍÏÔʾʲô£©£¬Òò´Ë£¬ÒªÐ¡ÐÄ£¬²»Òªµ±×ÅÈκÎÈ˵ÄÃæ¼üÈë¿ÚÁî¡£

ÃÜÔ¿²Ö¿âλÖÃ

ÿ¸ö keytool ÃüÁî¶¼ÓÐÒ»¸ö -keystore Ñ¡ÏÓÃÓÚÖ¸¶¨ keytool ¹ÜÀíµÄÃÜÔ¿²Ö¿âµÄÓÀ¾ÃÃÜÔ¿²Ö¿âÎļþÃû³Æ¼°ÆäλÖá£È±Ê¡Çé¿öÏ£¬ÃÜÔ¿²Ö¿â´¢´æÔÚÓû§ËÞÖ÷Ŀ¼£¨ÓÉϵͳÊôÐԵġ°user.home¡±¾ö¶¨£©ÖÐÃûΪ .keystore µÄÎļþÖС£ÔÚ Solaris ϵͳÖС°user.home¡±È±Ê¡ÎªÓû§µÄËÞÖ÷Ŀ¼¡£

ÃÜÔ¿²Ö¿âµÄ´´½¨

µ±Óà -genkey¡¢-import »ò -identitydb ÃüÁîÏòij¸öÉв»´æÔÚµÄÃÜÔ¿²Ö¿âÌí¼ÓÊý¾Ýʱ£¬¾Í´´½¨ÁËÒ»¸öÃÜÔ¿²Ö¿â¡£

¾ßÌåµØËµ£¬Èç¹ûÔÚ -keystore Ñ¡ÏîÖÐÖ¸¶¨ÁËÒ»¸ö²¢²»´æÔÚµÄÃÜÔ¿²Ö¿â£¬Ôò¸ÃÃÜÔ¿²Ö¿â½«±»´´½¨¡£

Èç¹û²»Ö¸¶¨ -keystore Ñ¡ÏÔòȱʡÃÜÔ¿²Ö¿â½«ÊÇËÞÖ÷Ŀ¼ÖÐÃûΪ .keystore µÄÎļþ¡£Èç¹û¸ÃÎļþ²¢²»´æÔÚ£¬ÔòËü½«±»´´½¨¡£

ÃÜÔ¿²Ö¿âʵÏÖ

java.security °üÖÐÌṩµÄ KeyStore ÀàΪ·ÃÎʺÍÐÞ¸ÄÃÜÔ¿²Ö¿âÖеÄÐÅÏ¢ÌṩÁËÏ൱¹Ì¶¨µÄ½Ó¿Ú¡£¿ÉÒÔÓжà¸ö²»Í¬µÄ¾ßÌåʵÏÖ£¬ÆäÖÐÿ¸öʵÏÖ¶¼ÊǶÔij¸öÌØ¶¨ÀàÐ͵ÄÃÜÔ¿²Ö¿âµÄ¾ßÌåʵÏÖ¡£

Ŀǰ£¬ÓÐÁ½¸öÃüÁîÐй¤¾ß£¨keytool ºÍ jarsigner£©ÒÔ¼°Ò»¸öÃûΪ Policy Tool µÄ»ùÓÚ GUI µÄ¹¤¾ßʹÓÃÃÜÔ¿²Ö¿âʵÏÖ¡£ÓÉÓÚÃÜÔ¿²Ö¿âÊǹ«Óõģ¬JDK Óû§¿ÉÀûÓÃËüÀ´±àдÆäËüµÄ°²È«ÐÔÓ¦ÓóÌÐò¡£

Sun Microsystems ¹«Ë¾ÌṩÁËÒ»¸öÄÚÖõÄȱʡʵÏÖ¡£ËüÀûÓÃÃûΪ¡°JKS¡± µÄרÓÃÃÜÔ¿²Ö¿âÀàÐÍ£¨¸ñʽ£©£¬½«ÃÜÔ¿²Ö¿âʵÏÖΪһ¸öÎļþ¡£ËüÓøöÈË¿ÚÁî±£»¤Ã¿¸ö˽Կ£¬Ò²ÓÿÚÁ¿ÉÄÜΪÁíÒ»¸ö¿ÚÁ±£»¤Õû¸öÃÜÔ¿²Ö¿âµÄÍêÕûÐÔ¡£

ÃÜÔ¿²Ö¿âµÄʵÏÖ»ùÓÚÌṩÕß (provider)¡£¸ü¾ßÌåµØËµ£¬ÓÉÃÜÔ¿²Ö¿âËùÌṩµÄÓ¦ÓóÌÐò½Ó¿ÚÊǽèÖúÓÚ¡°·þÎñÌṩÕß½Ó¿Ú¡±(SPI) À´ÊµÏֵġ£Ò²¾ÍÊÇ˵£¬ÔÚ java.security °üÖл¹ÓÐÒ»¸ö¶ÔÓ¦µÄ³éÏó KeystoreSpi À࣬Ëü¶¨ÒåÁË¡°ÌṩÕß¡±±ØÐëʵÏֵķþÎñÌṩÕß½Ó¿Ú·½·¨¡££¨ÊõÓï¡°ÌṩÕß¡±Ö¸µÄÊÇÒ»¸ö»òÒ»×é°ü£¬Õâ¸ö»òÕâ×é°üÌṩÁËÒ»²¿·Ý¿ÉÓÉ Java °²È« API ·ÃÎʵķþÎñ×Ó¼¯µÄ¾ßÌåʵÏÖ¡£Òò´Ë£¬ÒªÌṩij¸öÃÜÔ¿²Ö¿âʵÏÖ£¬¿Í»§»ú±ØÐëʵÏÖÒ»¸ö¡°ÌṩÕß¡±²¢ÊµÏÖ KeystoreSpi ×ÓÀ࣬ÈçÈçºÎΪ Java ¼ÓÃÜÌåϵ½á¹¹ÊµÏÖ Provider ÖÐËùÊö¡£

ͨ¹ýʹÓà KeyStore ÀàÖÐÌṩµÄ¡°getInstance¡±¹¤³§·½·¨£¬Ó¦ÓóÌÐò¿É´Ó²»Í¬µÄÌṩÕßÖÐÌôÑ¡²»Í¬ÀàÐ͵ÄÃÜÔ¿²Ö¿âʵÏÖ¡£ÃÜÔ¿²Ö¿âÀàÐͶ¨ÒåÃÜÔ¿²Ö¿âÐÅÏ¢µÄ´æ´¢ºÍÊý¾Ý¸ñʽ£¬ÒÔ¼°ÓÃÓÚ±£»¤ÃÜÔ¿²Ö¿âÖеÄ˽ԿºÍÃÜÔ¿²Ö¿â×ÔÉíÍêÕûÐÔµÄËã·¨¡£²»Í¬ÀàÐ͵ÄÃÜÔ¿²Ö¿âʵÏÖÊDz»¼æÈݵġ£

keytool ʹÓûùÓÚÎļþµÄÃÜÔ¿²Ö¿âʵÏÖ £¨Ëü°ÑÔÚÃüÁîÐÐÖд«µÝ¸øËüµÄÃÜÔ¿²Ö¿âλÖõ±³ÉÎļþÃû´¦Àí²¢½«Ö®×ª»»ÎªÎļþÊäÈëÁ÷£¬´Ó¸ÃÎļþÊäÈëÁ÷ÖмÓÔØÃÜÔ¿²Ö¿âÐÅÏ¢£©¡£ÁíÒ»·½Ã棬jarsigner ºÍ policytool ¹¤¾ß¿É´ÓÈκοÉÓà URL Ö¸¶¨µÄλÖöÁȡij¸öÃÜÔ¿²Ö¿â¡£

¶ÔÓÚ keytool ºÍ jarsigner£¬¿ÉÔÚÃüÁîÐÐÓà -storetype Ñ¡ÏîÖ¸¶¨ÃÜÔ¿²Ö¿âÀàÐÍ¡£¶ÔÓÚ Policy Tool£¬¿Éͨ¹ý ¡°±à¼­¡±²Ëµ¥Öеġ°¸ü¸ÄÃÜÔ¿²Ö¿â¡±ÃüÁîÀ´Ö¸¶¨ÃÜÔ¿²Ö¿âÀàÐÍ¡£

Èç¹ûûÓÐÃ÷È·Ö¸¶¨Ò»¸öÃÜÔ¿²Ö¿âÀàÐÍ£¬ÕâЩ¹¤¾ß½«Ö»ÊǸù¾Ý°²È«ÊôÐÔÎļþÖÐÖ¸¶¨µÄ keystore.type ÊôÐÔÖµÀ´Ñ¡ÔñÃÜÔ¿²Ö¿âʵÏÖ¡£°²È«ÊôÐÔÎļþÃûΪ java.security£¬ËüλÓÚ JDK °²È«ÊôÐÔĿ¼ java.home/lib/security ÖУ¬ÆäÖÐ java.home Ϊ JDK µÄ°²×°Ä¿Â¼¡£

ÿ¸ö¹¤¾ß¶¼ÏÈ»ñÈ¡ keystore.type µÄÖµ£¬È»ºó¼ì²éËùÓе±Ç°ÒѰ²×°µÄÌṩÕßÖ±µ½ÕÒµ½Ò»¸öʵÏÖËùÒªÇóÀàÐ͵ÄÃÜÔ¿²Ö¿âµÄʵÏÖΪֹ¡£È»ºó¾ÍʹÓøÃÌṩÕßµÄÃÜÔ¿²Ö¿âʵÏÖ¡£

KeyStore ÀඨÒåÁËÒ»¸öÃûΪ getDefaultType µÄ¾²Ì¬·½·¨£¬Ëü¿ÉÈÃÓ¦ÓóÌÐò»ò applet ¼ìË÷ keystore.type ÊôÐÔµÄÖµ¡£ÒÔÏ´úÂ뽫´´½¨È±Ê¡ÃÜÔ¿²Ö¿âÀàÐÍ£¨´ËÀàÐÍÓÉ keystore.type ÊôÐÔËùÖ¸¶¨¡££©µÄÒ»¸öʵÀý£º

    KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
ȱʡµÄÃÜÔ¿²Ö¿âÀàÐÍÊÇ¡°jks¡±£¨ÕâÊÇÓÉ¡°SUN¡±ÌṩÕßÌṩµÄÃÜÔ¿²Ö¿âʵÏÖµÄרÓÃÀàÐÍ£©¡£ËüÔÚ°²È«ÐÔÊôÐÔÎļþÖÐÓÉÏÂÐнøÐÐÖ¸¶¨£º
    keystore.type=jks
ÒªÈù¤¾ßʹÓò»Í¬ÓÚȱʡÀàÐ͵ÄÃÜÔ¿²Ö¿âʵÏÖ£¬¿É¸ü¸Ä´ËÐУ¬Ö¸¶¨²»Í¬µÄÃÜÔ¿²Ö¿âÀàÐÍ¡£

ÀýÈ磬Èç¹ûÄúÓÐÒ»¸öÕâÑùµÄÌṩÕß°ü£¬Ëü¸ø³öÒ»¸öÃûΪ¡°pkcs12¡±µÄÃÜÔ¿²Ö¿âÀàÐ͵ÄÃÜÔ¿²Ö¿âʵÏÖ£¬Ôò¿É½«ÉÏÃæÄÇÐиÄΪ£º

    keystore.type=pkcs12
×¢Ò⣺ÃÜÔ¿²Ö¿âÀàÐ͵ÄÃüÃûÖдóСдÎ޹ؽôÒª¡£ÀýÈ磬¡°JKS¡±½«±»ÈÏΪÊÇÓë¡°jks¡±ÏàͬµÄ¡£

Ö§³ÖµÄËã·¨ºÍÃÜÔ¿´óС

keytool ÔÊÐíÓû§Ö¸¶¨ÈκÎ×¢²áÁ˵ļÓÃÜ·þÎñÌṩÕßËùÌṩµÄÃÜÔ¿¶ÔÉú³ÉºÍÇ©ÃûËã·¨¡£Ò²¾ÍÊÇ˵£¬¸÷ÖÖÃüÁîÖÐµÄ keyalg ºÍ sigalg Ñ¡Ïî±ØÐëµÃµ½ÌṩÕßµÄʵÏÖµÄÖ§³Ö¡£È±Ê¡µÄÃÜÔ¿¶ÔÉú³ÉËã·¨ÊÇ¡°DSA¡±¡£Ç©ÃûËã·¨ÊÇ´ÓËùÉæ¼°Ë½Ô¿µÄËã·¨ÍÆµ¼À´µÄ£ºÈç¹ûËùÉæ¼°µÄ˽ԿÊÇ¡°DSA¡±ÀàÐÍ£¬ÔòȱʡµÄÇ©ÃûË㷨Ϊ¡°SHA1withDSA¡±£¬Èç¹ûËùÉæ¼°µÄ˽ԿÊÇ¡°RSA¡±ÀàÐÍ£¬ÔòȱʡµÄÇ©ÃûË㷨Ϊ¡°MD5withRSA¡±¡£

ÔÚÉú³É DSA ÃÜÔ¿¶Ôʱ£¬ÃÜÔ¿´óСµÄ·¶Î§±ØÐëÔÚ 512 µ½ 1024 λ֮¼ä£¬ÇÒ±ØÐëÊÇ 64 µÄ±¶Êý¡£È±Ê¡µÄÃÜÔ¿´óСΪ 1024 λ¡£

Ö¤Êé

Ö¤Ê飨Ҳ½Ð¹«Ô¿Ö¤Ê飩ÊÇÀ´×Ôij¸öʵÌ壨ǩ·¢ÈË£©µÄ¾­Êý×ÖÇ©ÃûµÄÉùÃ÷£¬ËüÉùÃ÷ÁíһʵÌ壨Ö÷Ì壩µÄ¹«Ô¿£¨¼°ÆäËüÐÅÏ¢£©¾ßÓÐÄ³Ò»ÌØ¶¨µÄÖµ¡£

ÏÂÃæÏêϸ½âÊͱ¾¾äÖÐʹÓõÄÖ÷ÒªÊõÓ

 
¹«Ô¿
ÊÇÓëÌØ¶¨ÊµÌåÏà¹ØÁªµÄÊý×Ö¡£ËùÓÐÐèÒªÓë¸ÃʵÌå½øÐÐÐÅÈν»»¥µÄÈ˶¼Ó¦ÖªµÀ¸ÃÊý×Ö¡£¹«Ô¿ÓÃÓÚУÑéÇ©Ãû¡£
¾­Êý×ÖÇ©Ãû
Èç¹ûijЩÊý¾Ý¾­Êý×ÖÇ©Ãû£¬ËµÃ÷ËüÃÇÒÑÓëijһʵÌåµÄ¡°Éí·Ý¡±´æ´¢ÔÚÒ»Æð£¬¶øÇÒÖ¤Ã÷¸ÃʵÌåµÄÇ©ÃûÖªµÀÕâЩÊý¾Ý¡£Í¨¹ýÓøÃʵÌåµÄ˽Կ½øÐлæÖÆ£¬ÕâЩÊý¾Ý¾ÍÊDz»¿ÉαÔìµÄÁË¡£
Éí·Ý
ÓÃÓÚÉùÃ÷ʵÌåµÄÒ»ÖÖÊֶΡ£Ä³Ð©ÏµÍ³ÖУ¬Éí·ÝÊǹ«Ô¿£¬¶øÔÚÁíһЩϵͳÖÐÔò¿ÉÒÔÊÇ Unix UID¡¢µç×ÓÓʼþµØÖ·»ò X.509 ÌØÕ÷ÃûµÈµÈ¡£
Ç©Ãû
ËùνǩÃû£¬¾ÍÊÇÓÃʵÌåµÄ£¨Ç©ÃûÈË£¬ÔÚÖ¤ÊéÖÐÒ²³ÆÎªÇ©·¢ÈË£©Ë½Ô¿¶ÔijЩÊý¾Ý½øÐмÆËã¡£
˽Կ
ÊÇһЩÊý×Ö£¬Ã¿¸öÊý×Ö¶¼Ó¦½ö±»ÒÔ¸ÃÊý×Ö×÷Ϊ˽ԿµÄÌØ¶¨ÊµÌåËùÖª£¨¼´¸ÃÊý×ÖÓ¦±£ÃÜ£©¡£ÔÚËùÓй«Ô¿ÃÜÂëϵͳÖУ¬Ë½Ô¿ºÍ¹«Ô¿¾ù³É¶Ô³öÏÖ¡£ÔÚ DSA µÈ¾ßÌåµÄ¹«Ô¿ÃÜÂëϵͳÖУ¬Ò»¸ö˽Կֻ¶ÔÓ¦Ò»¸ö¹«Ô¿¡£Ë½Ô¿ÓÃÓÚ¼ÆËãÇ©Ãû¡£
ʵÌå
ʵÌåÊÇÄúÔÚijÖ̶ֳÈÉÏ¶ÔÆä¼ÓÒÔÐÅÈεĸöÈË¡¢×éÖ¯¡¢³ÌÐò¡¢¼ÆËã»ú¡¢ÆóÒµ¡¢ÒøÐеȡ£
ͨ³££¬¹«Ô¿ÃÜÂëϵͳÐèÒª·ÃÎÊÓû§µÄ¹«Ô¿¡£ÔÚ´óÐÍÁªÍø»·¾³ÖУ¬²¢²»ÄÜÈ·±£Í¨ÐÅʵÌåÖ®¼äÒѾ­Ô¤ÏȽ¨Á¢Æð¹ØÏµ£¬Ò²ÎÞ·¨È·±£ÊÜÐÅÈεĴ¢´æ¿âÓëËùÓõĹ«Ô¿¶¼´æÔÚ¡£ÓÚÊÇÈËÃÇ·¢Ã÷ÁËÖ¤Êé×÷Ϊ¹«Ô¿·ÖÅäÎÊÌâµÄ½â¾ö°ì·¨¡£ÏÖÔÚ£¬ÈÏÖ¤»ú¹¹ (CA) ¿É³äµ±¿ÉÐÅÈεĵÚÈý·½¡£CA ÊÇ¿ÉÐÅÈεÄÏòÆäËüʵÌåÇ©Ãû£¨·¢·Å£©Ö¤ÊéµÄʵÌ壨ÀýÈçÆóÒµ£©¡£ÓÉÓÚ CA ÊÜ·¨ÂÉЭÒéÔ¼Êø£¬Òò´Ë¿ÉÈÏΪËüÃÇÖ»Ìṩ¿É¿¿ÓÐЧµÄÖ¤Êé¡£¹«¹²ÈÏÖ¤»ú¹¹ÊýÁ¿ºÜ¶à£¬ÀýÈç VeriSign¡¢Thawte¡¢Entrust µÈµÈ¡£Äú»¹¿ÉÒÔʹÓÃÖîÈç Netscape/Microsoft Certificate Servers »ò Entrust CA µÈ²úÆ·À´×Ô¼ºÔËÓªÈÏÖ¤»ú¹¹¡£

ʹÓà keytool ¿ÉÒÔÏÔʾ¡¢µ¼ÈëºÍµ¼³öÖ¤Êé¡£»¹¿ÉÒÔ²úÉú×ÔÇ©ÃûÖ¤Êé¡£

keytool Ŀǰ´¦Àí X.509 Ö¤Êé¡£

X.509 Ö¤Êé

X.509 ±ê×¼¹æ¶¨ÁËÖ¤Êé¿ÉÒÔ°üº¬Ê²Ã´ÐÅÏ¢£¬²¢ËµÃ÷Á˼ǼÐÅÏ¢µÄ·½·¨£¨Êý¾Ý¸ñʽ£©¡£³ýÁËÇ©ÃûÍ⣬ËùÓÐ X.509 Ö¤Ê黹°üº¬ÒÔÏÂÊý¾Ý£º
 
°æ±¾
ʶ±ðÓÃÓÚ¸ÃÖ¤ÊéµÄ X.509 ±ê×¼µÄ°æ±¾£¬¸Ã°æ±¾Ó°ÏìÖ¤ÊéÖÐËùÄÜÖ¸¶¨µÄÐÅÏ¢¡£Æù½ñΪֹ£¬ÒѶ¨ÒåµÄ°æ±¾ÓÐÈý¸ö¡£keytool ¿Éµ¼ÈëºÍµ¼³ö v1¡¢v2 ºÍ v3 °æµÄÖ¤Êé¡£ËüÖ»ÄÜÉú³É v1 °æÖ¤Êé¡£
ÐòÁкÅ
·¢·ÅÖ¤ÊéµÄʵÌåÓÐÔðÈÎΪ֤ÊéÖ¸¶¨ÐòÁкţ¬ÒÔʹÆäÇø±ðÓÚ¸ÃʵÌå·¢·ÅµÄÆäËüÖ¤Êé¡£´ËÐÅÏ¢ÓÃ;ºÜ¶à¡£ÀýÈ磬Èç¹ûijһ֤Êé±»³·Ïû£¬ÆäÐòÁкŽ«·Åµ½Ö¤Êé³·ÏûÇåµ¥ (CRL) ÖС£
Ç©ÃûËã·¨±êʶ·û
ÓÃÓÚ±êʶ CA Ç©ÃûÖ¤ÊéʱËùÓõÄËã·¨¡£
Ç©·¢ÈËÃû³Æ
Ç©ÃûÖ¤ÊéµÄʵÌåµÄ X.500 ÌØÕ÷Ãû¡£Ëüͨ³£ÎªÒ»¸ö CA¡£Ê¹ÓøÃÖ¤ÊéÒâζ×ÅÐÅÈÎÇ©Ãû¸ÃÖ¤ÊéµÄʵÌå¡£×¢Ò⣺ÓÐЩÇé¿öÏ£¨ÀýÈç¸ù»ò¶¥²ã CA Ö¤Ê飩£¬Ç©·¢ÈË»áÇ©Ãû×Ô¼ºµÄÖ¤Êé¡£
ÓÐЧÆÚ
ÿ¸öÖ¤Êé¾ùÖ»ÄÜÔÚÒ»¸öÓÐÏÞµÄʱ¼ä¶ÎÄÚÓÐЧ¡£¸ÃÓÐЧÆÚÒÔÆðʼÈÕÆÚºÍʱ¼ä¼°ÖÕÖ¹ÈÕÆÚºÍʱ¼ä±íʾ£¬¿ÉÒÔ¶ÌÖÁ¼¸Ãë»ò³¤ÖÁÒ»ÊÀ¼Í¡£ËùÑ¡ÓÐЧÆÚÈ¡¾öÓÚÐí¶àÒòËØ£¬ÀýÈçÓÃÓÚÇ©ÃûÖ¤ÊéµÄ˽ԿµÄʹÓÃÆµÂʼ°Ô¸ÎªÖ¤ÊéÖ§¸¶µÄ½ðÇ®µÈ¡£ËüÊÇÔÚûÓÐΣ¼°Ïà¹ØË½Ô¿µÄÌõ¼þÏ£¬ÊµÌå¿ÉÒÔÒÀÀµ¹«Ô¿ÖµµÄÔ¤¼ÆÊ±¼ä¡£
Ö÷ÌåÃû
Ö¤Êé¿ÉÒÔʶ±ðÆä¹«Ô¿µÄʵÌåÃû¡£´ËÃû³ÆÊ¹Óà X.500 ±ê×¼£¬Òò´ËÔÚInternetÖÐÓ¦ÊÇΨһµÄ¡£ËüÊÇʵÌåµÄ X.500 ÌØÕ÷Ãû (DN)£¬ÀýÈ磬
    CN=Java Duke, OU=Java Software Division, O=Sun Microsystems Inc, C=US
£¨ÕâЩָÖ÷ÌåµÄͨÓÃÃû¡¢×éÖ¯µ¥Î»¡¢×éÖ¯ºÍ¹ú¼Ò¡££©
Ö÷Ì幫ԿÐÅÏ¢
ÕâÊDZ»ÃüÃûʵÌåµÄ¹«Ô¿£¬Í¬Ê±°üÀ¨Ö¸¶¨¸ÃÃÜÔ¿ËùÊô¹«Ô¿ÃÜÂëϵͳµÄËã·¨±êʶ·û¼°ËùÓÐÏà¹ØµÄÃÜÔ¿²ÎÊý¡£
X.509 1 °æ 1988 Äê·¢²¼£¬Òѵõ½¹ã·ºÊ¹Óã¬ÊÇ×î³£Óõİ汾¡£

X.509 2 °æÒýÈëÁËÖ÷ÌåºÍÇ©·¢ÈËΨһ±êʶ·ûµÄ¸ÅÄÒÔ½â¾öÖ÷ÌåºÍ/»òÇ©·¢ÈËÃû³ÆÔÚÒ»¶Îʱ¼äºó¿ÉÄÜÖØ¸´Ê¹ÓõÄÎÊÌâ¡£´ó¶àÊýÖ¤Êé¼àÊÓÎĵµ¶¼¼«Á¦½¨Òé²»ÒªÖØ¸´Ê¹ÓÃÖ÷Ìå»òÇ©·¢ÈËÃû³Æ£¬¶øÇÒ½¨ÒéÖ¤Ê鲻ҪʹÓÃΨһ±êʶ·û¡£°æ±¾ 2 Ö¤ÊéÉÐδµÃµ½¹ã·ºÊ¹Óá£

X.509 3 °æÊÇ×îеİ汾£¨1996 Ä꣩¡£ËüÖ§³ÖÀ©Õ¹µÄ¸ÅÄÒò´ËÈκÎÈ˾ù¿É¶¨ÒåÀ©Õ¹²¢½«ÆäÄÉÈëÖ¤ÊéÖС£ÏÖÔÚ³£ÓõÄÀ©Õ¹°üÀ¨£ºKeyUsage£¨½öÏÞÃÜÔ¿ÓÃÓÚÌØÊâÄ¿µÄ£¬ÀýÈ硰ֻǩÃû¡±£©ºÍ AlternativeNames£¨ÔÊÐíÆäËüÉí·ÝÒ²Óë¸Ã¹«Ô¿¹ØÁª£¬ÀýÈç DNS Ãû¡¢µç×ÓÓʼþµØÖ·¡¢IP µØÖ·£©¡£À©Õ¹¿É±ê¼ÇΪ¡°¼«ÖØÒª¡±£¬ÒÔ±íʾ¸ÃÀ©Õ¹Ó¦±»¼ì²é²¢Ö´ÐлòʹÓá£ÀýÈ磬Èç¹ûijһ֤Ê齫 KeyUsage À©Õ¹±ê¼ÇΪ¡°¼«ÖØÒª¡±£¬¶øÇÒÉèÖÃΪ¡°keyCertSign¡±£¬ÔòÔÚ SSL ͨѶÆÚ¼ä¸ÃÖ¤Êé³öÏÖʱ½«±»¾Ü¾ø£¬ÒòΪ¸ÃÖ¤ÊéÀ©Õ¹±íʾÏà¹ØË½Ô¿Ó¦Ö»ÓÃÓÚÇ©ÃûÖ¤Ê飬¶ø²»Ó¦¸ÃÓÃÓÚ SSL¡£

Ö¤ÊéÖеÄËùÓÐÊý¾Ý¾ùÓÃÁ½¸öÃûΪ ASN.1/DER µÄÏà¹Ø±ê×¼½øÐбàÂë¡£³éÏóÓ﷨עÊÍ 1 (Abstract Syntax Notation 1) ÃèÊöÊý¾Ý¡£È·¶¨ÐÔ±àÂë¹æÔò (Definite Encoding Rules) ÃèÊö´¢´æºÍ´«Êä¸ÃÊý¾ÝµÄΨһ·½Ê½¡£

X.500 ÌØÕ÷Ãû

X.500 ÌØÕ÷ÃûÓÃÓÚ±êʶʵÌ壬ÀýÈç X.509 Ö¤ÊéµÄ Ö÷ÌåºÍÇ©·¢ÈË£¨Ç©ÃûÈË£©ÓòËùÃüÃûµÄʵÌå¡£keytool Ö§³ÖÒÔϵÄ×Ó×é¼þ£º
     
  • commonName - ¸öÈ˳£ÓÃÃû£¬ÀýÈç¡°Susan Jones¡±
  • organizationUnit - СÐÍ×éÖ¯£¨ÀýÈ粿ÃÅ»ò·Ö²¿£©µÄÃû³Æ£¬ÀýÈç¡°Purchasing¡±
  • organizationName - ´óÐÍ×éÖ¯µÄÃû³Æ£¬ÀýÈç¡°ABCSystems, Inc.¡±
  • localityName - µØ·½£¨³ÇÊУ©Ãû£¬ÀýÈç¡°Palo Alto¡±
  • stateName - ÖÝ»òÊ¡·ÝÃû£¬ÀýÈç¡°California¡±
  • country - Á½¸ö×ÖĸµÄ¹ú¼Ò´úÂ룬ÀýÈç¡°CH¡±
µ±¸ø³öÒ»¸öÌØÕ÷Ãû×Ö·û´®×÷Ϊ -dname Ñ¡ÏîµÄֵʱ£¬ÀýÈç -genkey »ò -selfcert ÃüÁîÖеĸÃÑ¡Ï×Ö·û´®±ØÐëΪÒÔϸñʽ£º
CN=cName, OU=orgUnit, O=org, L=city, S=state, C=countryCode
ÆäÖÐËùÓеÄбÌå×Ö´ú±íʵ¼ÊÖµ¶øÉÏÃæµÄ¹Ø¼ü×ÖÊÇÒÔÏÂËõд£º
        CN=commonName
        OU=organizationUnit
        O=organizationName
        L=localityName
        S=stateName
        C=country
ÒÔÏÂÊÇÌØÕ÷Ãû×Ö·û´®Ñù±¾£º
CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino, S=California, C=US
ÒÔÏÂÊÇʹÓÃÕâÒ»×Ö·û´®µÄÑù±¾ÃüÁ
keytool -genkey -dname "CN=Mark Smith, OU=JavaSoft, O=Sun, L=Cupertino,
S=California, C=US" -alias mark
´óСд¶Ô¹Ø¼ü×ÖËõдÎ޹ؽôÒª¡£ÀýÈ磬¡°CN¡±¡¢¡°cn¡±ºÍ¡°Cn¡±¶¼½«±»µ±×÷ÊÇÒ»ÑùµÄ¡£

µ«Ë³ÐòÊÇÓйØÏµµÄ£»Ã¿¸ö×Ó×é¼þ±ØÐë°´Éè¼ÆºÃµÄ˳Ðò³öÏÖ¡£µ«ÊÇ£¬²»ÊÇËùÓÐ×Ó×é¼þ¶¼±ØÐëÓС£¿ÉÒÔÖ»ÓÃÒ»²¿·Ö£¬ÀýÈ磺

CN=Steve Meier, OU=SunSoft, O=Sun, C=US
Èç¹ûÌØÕ÷Ãû×Ö·û´®µÄÖµº¬ÓжººÅ£¬µ±ÔÚÃüÁîÐÐÖ¸¶¨¸Ã×Ö·û´®Ê±£¬¶ººÅ±ØÐëÓá°\¡±×Ö·ûÀ´½øÐÐתÒ壬ÈçÏÂËùʾ£º
   cn=peter schuster, o=Sun Microsystems\, Inc., o=sun, c=us
ÔÚÃüÁîÐÐÖÐÖ¸¶¨ÌØÕ÷Ãû×Ö·û´®ÊDz»±ØÒªµÄ¡£Èç¹ûijһÃüÁîÐèÒªÖ¸¶¨ÌØÕ÷Ãû×Ö·û´®£¬¶øÔÚÃüÁîÐÐÖÐÓÖδÌṩ£¬ÔòÓû§½«µÃµ½Ã¿¸ö×Ó×é¼þµÄÌáʾ¡£ÕâÖÖÇé¿öÏ£¬¶ººÅ²»ÐèÒªÓá°\¡±À´×ªÒå¡£

Internet RFC 1421 Ö¤Êé±àÂë±ê×¼

Ö¤Êé³£Óà Internet RFC 1421 ±ê×¼Öж¨ÒåµÄ¿É´òÓ¡µÄ±àÂë¸ñʽÀ´´æ´¢£¬¶ø²»ÊÇÓÃÆä¶þ½øÖƱàÂëÀ´´æ´¢¡£ÕâÖÖÖ¤Êé¸ñʽ£¬Ò²³Æ¡°Base 64 ±àÂ롱£¬±ãÓÚͨ¹ýµç×ÓÓʼþ»òÆäËü»úÖÆ½«Ö¤Êéµ¼³öµ½±ðµÄÓ¦ÓóÌÐòÖС£

Óà -import ºÍ -printcert ÃüÁî¶ÁÈëµÄÖ¤Êé¿ÉÒÔÊÇÕâÖÖ¸ñʽµÄ±àÂë»òÊǶþ½øÖƸñʽµÄ±àÂë¡£

ȱʡÇé¿öÏ£¬-export ÃüÁÒÔ¶þ½øÖƱàÂë¸ñʽÊä³öÖ¤Ê飬µ«Èç¹ûÖ¸¶¨ÁË -rfc Ñ¡ÏÔò½«ÒÔ¿É´òÓ¡µÄ±àÂë¸ñʽÊä³öÖ¤Êé¡£

ȱʡÇé¿öÏ£¬-list ÃüÁî´òÓ¡Ö¤ÊéµÄ MD5 Ö¸ÎÆ¡£¶øÈç¹ûÖ¸¶¨ÁË -v Ñ¡Ï½«ÒԿɶÁ¸ñʽ´òÓ¡Ö¤Ê飬Èç¹ûÖ¸¶¨ÁË -rfc Ñ¡Ï½«ÒÔ¿É´òÓ¡µÄ±àÂë¸ñʽÊä³öÖ¤Êé¡£

ÔÚÆä¿É´òÓ¡µÄ±àÂë¸ñʽÖУ¬ÒѱàÂëÖ¤ÊéµÄÆðʼÐÐÊÇ£º

-----BEGIN CERTIFICATE-----
½áÊøÐÐÊÇ£º
-----END CERTIFICATE-----

Ö¤ÊéÁ´

keytool ¿É´´½¨ºÍ¹ÜÀíÃÜÔ¿²Ö¿âµÄ¡°ÃÜÔ¿¡±Ïÿ¸öÃÜÔ¿Ïî¶¼º¬ÓÐ˽ԿºÍÏà¹ØÖ¤Êé¡°Á´¡±¡£Á´ÖеĵÚÒ»¸öÖ¤Ê麬ÓÐÓë˽Կ¶ÔÓ¦µÄ¹«Ô¿¡£

µ±µÚÒ»´Î²úÉúÃÜԿʱ£¨²Î¼û -genkey ÃüÁ£¬Á´ÖÐÖ»º¬ÓÐÒ»¸öÔªËØ£¬¼´×ÔÇ©ÃûÖ¤Êé¡£×ÔÇ©ÃûÖ¤ÊéÊÇÒ»¸öÕâÑùµÄÖ¤Ê飺ÆäÇ©·¢ÈË£¨Ç©ÃûÈË£©ÓëÖ÷Ì壨֤ÊéËùÈÏÖ¤µÄ¹«Ô¿ËùÊôµÄʵÌ壩Ïàͬ¡£µ±µ÷Óà -genkey ÃüÁîÀ´Éú³ÉÐµĹ«Ô¿/˽Կ¶Ôʱ£¬ËüͬʱҲ°Ñ¹«Ô¿´ò°ü½ø×ÔÇ©ÃûÖ¤ÊéÖС£

Ö®ºó£¬µ±Ö¤ÊéÇ©ÃûÇëÇó (CSR) £¨²Î¼û -certreq ÃüÁ±»Éú³É²¢ËÍÖÁÈÏÖ¤»ú¹¹ (CA) ºó£¬CA µÄ´ð¸´½«±»µ¼È루²Î¼û -import£©£¬Ö¤ÊéÁ´½«È¡´ú×ÔÇ©ÃûÖ¤Êé¡£ÔÚÁ´µÄµ×²¿ÊÇÈÏÖ¤Ö÷Ì幫ԿµÄ CA Ëù·¢·ÅµÄÖ¤Ê飨´ð¸´£©¡£Á´ÖÐÏÂÒ»¸öÖ¤ÊéÊÇÓÃÓÚÈÏÖ¤ CA ¹«Ô¿µÄÖ¤Êé¡£

ÔÚÐí¶àÇé¿öÏ£¬ÕâÊǸö×ÔÇ©ÃûÖ¤Ê飨¼´À´×ÔÈÏÖ¤Æä×ÔÉí¹«Ô¿µÄ CA µÄÖ¤Ê飩ÇÒÊÇÁ´ÖеÄ×îºóÒ»¸öÖ¤Êé¡£ÔÚÆäËüÇé¿öÏ£¬CA Ò²Ðí½«·µ»ØÖ¤ÊéÁ´¡£ÕâÖÖÇé¿öÏ£¬Á´Öеײ¿µÄÖ¤ÊéÊÇÏàͬµÄ£¨ÓÉ CA Ç©ÃûµÄÖ¤Ê飬¶ÔÃÜÔ¿ÏîµÄ¹«Ô¿½øÐÐÈÏÖ¤£©£¬µ«Á´Öеڶþ¸öÖ¤ÊéÊÇÓɲ»Í¬µÄ CA ËùÇ©ÃûµÄ£¬¶ÔÄúÏòÆä·¢ËÍ CSR µÄ CA µÄ¹«Ô¿½øÐÐÈÏÖ¤¡£È»ºó£¬Á´ÖеÄÏÂÒ»¸öÖ¤Ê齫ÊǶԵڶþ¸ö CA µÄ¹«Ô¿½øÐÐÈÏÖ¤µÄÖ¤Ê飬ÒÔ´ËÀàÍÆ£¬Ö±ÖÁµ½´ï×ÔÇ©ÃûµÄ¡°¸ù¡±Ö¤ÊéΪֹ¡£Òò´Ë£¬Á´ÖеÄÿ¸öÖ¤Ê飨´ÓµÚÒ»¸öÒԺ󣩶¼¶ÔÁ´ÖÐǰһ¸öÖ¤ÊéµÄÇ©ÃûÈ˵Ĺ«Ô¿½øÐÐÈÏÖ¤¡£

Ðí¶à CA Ö»·µ»ØËù·¢·ÅµÄÖ¤Ê飬¶ø²»Ö§³ÖÁ´£¬ÌرðÊǵ±²ã´Î½á¹¹½Ï¼òµ¥Ê±£¨ÎÞÖнé CA£©¡£ÕâÖÖÇé¿öÏ£¬±ØÐëÓô¢´æÔÚÃÜÔ¿²Ö¿âÖеĿÉÐÅÈεÄÖ¤ÊéÐÅÏ¢À´½¨Á¢Ö¤ÊéÁ´¡£

ÁíÒ»Öִ𸴸ñʽ£¨ÓÉ PKCS#7 ±ê×¼Ëù¶¨Ò壩³ýÁ˰üº¬ËùÇ©·¢µÄÖ¤ÊéÍ⣬»¹Ö§³ÖÖ¤ÊéÁ´¡£Á½Öִ𸴸ñʽ¶¼¿ÉÓÉ keytool ´¦Àí¡£

¶¥²ã£¨¸ù£©CA Ö¤ÊéÊÇ×ÔÇ©ÃûµÄ¡£µ«ÊÇ£¬¶Ô¸ù¹«Ô¿µÄÐÅÈβ¢·ÇÀ´×Ô¸ùÖ¤Êé±¾Éí£¨ÈκÎÈ˶¼¿ÉÓÃÌØÕ÷ÃûÀ´²úÉú×ÔÇ©ÃûÖ¤Ê飡ƩÈç˵Óà VeriSign ¸ù CA µÄÌØÕ÷Ãû£©, ¶øÊÇÀ´×Ô±¨Ö½Ö®ÀàµÄÆäËüÀ´Ô´¡£¸ù CA µÄ¹«Ô¿ÊǹãΪÈËÖªµÄ¡£Ëü±»´¢´æÔÚÖ¤ÊéÖеÄΨһԭÒòÊÇÒòΪÕâÊÇ´ó¶àÊý¹¤¾ßËùÄÜÀí½âµÄ¸ñʽ£¬Òò´ËÕâÖÖÇé¿öϵÄÖ¤ÊéÖ»ÊÇ×÷ΪһÖÖ´«Êä¸ù CA µÄ¹«Ô¿Óõġ°½»Í¨¹¤¾ß¡±¡£ÔÚ½«¸ù CA Ö¤Êé¼Óµ½ÄúµÄÃÜÔ¿²Ö¿âÖÐ֮ǰ£¬Ó¦¸ÃÏȶÔËü½øÐв鿴£¨Óà -printcert Ñ¡Ï²¢½«ËùÏÔʾµÄÖ¸ÎÆÓëÒÑÖªµÄÖ¸ÎÆ£¨´Ó±¨Ö½¡¢¸ù CA µÄÍøÒ³µÈÖлñÈ¡£©½øÐбȽϡ£

µ¼ÈëÖ¤Êé

Òª´ÓÒ»¸öÎļþÖе¼Èëij¸öÖ¤Ê飬¿ÉÓà -import ÃüÁÈçÏÂËùʾ£º
    keytool -import -alias joe -file jcertfile.cer
´ËÑù±¾ÃüÁîµ¼ÈëÎļþ jcertfile.cer ÖеÄÖ¤Êé²¢½«Æä´æ´¢ÔÚÓɱðÃû joe ±êʶµÄÃÜÔ¿²Ö¿âÏîÖС£

µ¼ÈëÖ¤ÊéµÄÁ½¸öÀíÓÉÈçÏ£º

     
  1. Ϊ½«ÆäÌí¼Óµ½¿ÉÐÅÈεÄÖ¤ÊéÇåµ¥ÖУ¬»ò
  2. Ϊµ¼ÈëÒòÏò CA Ìá½»Ö¤ÊéÇ©ÃûÇëÇ󣨲μû -certreq ÃüÁ¶øÊÕµ½µÄÀ´×Ըà CA µÄÈÏÖ¤´ð¸´¡£
-alias Ñ¡ÏîµÄÖµÖ¸Ã÷Òª½øÐкÎÖÖÀàÐ͵ĵ¼Èë¡£Èç¹ûÊý¾Ý¿âÖдæÔÚ±ðÃû£¬ÇҸñðÃû±êʶ¾ßÓÐ˽ԿµÄÏÔò½«¼Ù¶¨ÄúÒªµ¼ÈëÈÏÖ¤´ð¸´¡£keytool ½«¼ì²éÈÏÖ¤´ð¸´ÖеĹ«Ô¿ÊÇ·ñÓëÓñðÃû´¢´æµÄ˽ԿÏàÆ¥Å䣬Èç¹ûÁ½Õß²»Í¬£¬Ôò³ÌÐòÍ˳ö¡£Èç¹û±ðÃû±êʶÁíÒ»ÖÖÀàÐ͵ÄÃÜÔ¿²Ö¿âÏÔò²»µ¼Èë¸ÃÖ¤Êé¡£Èç¹û¸Ã±ðÃû²»´æÔÚ£¬ÔòËü½«±»´´½¨²¢Óëµ¼ÈëµÄÖ¤Ê鹨Áª¡£

Óйص¼Èë¿ÉÐÅÈÎÖ¤ÊéµÄ¾¯¸æ

ÖØÒª£º½«Ö¤Êé×÷Ϊ¿ÉÐÅÈεÄÖ¤Êéµ¼Èë֮ǰ£¬ÇëÎñ±ØÏÈ×Ðϸ¼ì²é¸ÃÖ¤Ê飡

ÏȲ鿴һÏ£¨Óà -printcert ÃüÁ»òÓò»´ø -noprompt Ñ¡ÏîµÄ -import ÃüÁ£¬È·±£ËùÏÔʾµÄÖ¤ÊéÖ¸ÎÆÓëËùÔ¤¼ÆµÄÏàÆ¥Åä¡£ÀýÈ磬¼ÙÉèijÈ˸øÄúËÍÀ´»òÓõç×ÓÓʼþ·¢À´Ò»¸öÖ¤Ê飬Äú½«Ëü·ÅÔÚÃûΪ /tmp/cert µÄÎļþÖС£ÔÚ½«Ëü¼Óµ½¿ÉÐÅÈÎÖ¤ÊéµÄÇåµ¥ÖÐ֮ǰ£¬¿Éͨ¹ýÖ´ÐÐ -printcert ÃüÁîÀ´²é¿´ËüµÄÖ¸ÎÆ£¬ÈçÏÂËùʾ£º

  keytool -printcert -file /tmp/cert
    Owner: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll
    Issuer: CN=ll, OU=ll, O=ll, L=ll, S=ll, C=ll
    Serial Number: 59092b34
    Valid from: Thu Sep 25 18:01:13 PDT 1997 until: Wed Dec 24 17:01:13 PST 1997
    Certificate Fingerprints:
         MD5£º 11:81:AD:92:C8:E5:0E:A2:01:2E:D4:7A:D7:5F:07:6F
         SHA1: 20:B6:17:FA:EF:E5:55:8A:D0:71:1F:E8:D6:9D:C0:37:13:0E:5E:FE
È»ºó¸øÏòÄú·¢ËÍÖ¤ÊéµÄÈË´òµç»°»òÓÃÆäËü·½Ê½ÁªÏµ£¬½«Äú½«ÄúËù¿´µ½µÄÖ¸ÎÆÓëËûÃÇËùÌṩµÄ±È½Ï¡£Ö»ÓÐÁ½ÕßÏàµÈ²Å¿É±£Ö¤Ö¤ÊéÔÚ´«ËÍ;ÖÐûÓб»ÆäËüÈË£¨ÀýÈ磬¹¥»÷Õߣ©µÄÖ¤ÊéËù¸ü»»¡£Èç¹û·¢ÉúÁËÕâÑùµÄ¹¥»÷£¬¶øÄúδ¼ì²éÖ¤Êé¼´½«Æäµ¼È룬Äú¾Í»áÐÅÈι¥»÷ÕßËùÇ©ÃûµÄÈκζ«Î÷£¨ÀýÈ磬һ¸öº¬ÓжñÒâÀàÎļþµÄ JAR Îļþ£©¡£

×¢Ò⣺²¢²»ÒªÇóÔÚµ¼ÈëÖ¤ÊéǰִÐÐ -printcert ÃüÁÒòΪÔÚ½«Ö¤ÊéÌí¼Óµ½ÃÜÔ¿²Ö¿âÖпÉÐÅÈÎÖ¤ÊéµÄÇåµ¥ÖÐ֮ǰ£¬-import ÃüÁ»á´òÓ¡³ö¸ÃÖ¤ÊéµÄÐÅÏ¢£¬²¢ÌáʾÄú½øÐÐУÑé¡£Õâʱ£¬Äú¿ÉÑ¡ÔñÖÐÖ¹µ¼Èë²Ù×÷¡£µ«ÊÇ×¢Ò⣬ֻÓÐÔÚµ÷Óò»´ø -noprompt Ñ¡ÏîµÄ -import ÃüÁîʱ²ÅÄÜÕâÑù×ö¡£Èç¹û¸ø³öÁË -noprompt Ñ¡ÏÔò²»´æÔÚÓëÓû§µÄ½»»¥

µ¼³öÖ¤Êé

Òª½«Ö¤Êéµ¼³öµ½ÎļþÖУ¬ÇëÓà -export ÃüÁÈçÏÂËùʾ£º
    keytool -export -alias jane -file janecertfile.cer
¸ÃÑù±¾ÃüÁ jane µÄÖ¤Êéµ¼³öµ½Îļþ janecertfile.cer ÖС£Ò²¾ÍÊÇ˵£¬Èç¹û jane ÊÇij¸öÃÜÔ¿ÏîµÄ±ðÃû£¬¸ÃÃüÁµ¼³ö¸ÃÃÜÔ¿²Ö¿âÏîÖÐËùº¬Ö¤ÊéÁ´µ×²¿µÄÖ¤Êé¡£ÕâÊÇÈÏÖ¤ jane µÄ¹«Ô¿ÓõÄÖ¤Êé¡£

Ïà·´£¬Èç¹û jane ÊÇij¸ö¿ÉÐÅÈÎÖ¤ÊéÏîµÄ±ðÃû£¬Ôòµ¼³öµÄÊǸÿÉÐÅÈεÄÖ¤Êé¡£

ÏÔʾ֤Êé

Òª´òӡij¸öÃÜÔ¿²Ö¿âÏîµÄÄÚÈÝ£¬ÇëÓà -list ÃüÁÈçÏÂËùʾ£º
    keytool -list -alias joe
Èç¹ûδָ¶¨±ðÃû£¬ÈçÏÂËùʾ£º
    keytool -list
Ôò´òÓ¡Õû¸öÃÜÔ¿²Ö¿âµÄÄÚÈÝ¡£

ÒªÏÔʾ´¢´æÔÚÎļþÖеÄÖ¤ÊéµÄÄÚÈÝ£¬ÇëÓà -printcert ÃüÁÈçÏÂËùʾ£º

    keytool -printcert -file certfile.cer
Õ⽫´òÓ¡´¢´æÔÚÎļþ certfile.cer ÖеÄÓйØÖ¤ÊéµÄÐÅÏ¢¡£

×¢Ò⣺´Ë²Ù×÷ÓëÃÜÔ¿²Ö¿âÎ޹أ¬Ò²¾ÍÊÇ˵£¬²»ÐèÒªÃÜÔ¿²Ö¿â¼´¿ÉÏÔʾ´¢´æÔÚÎļþÖеÄÖ¤Êé¡£

Éú³É×ÔÇ©ÃûÖ¤Êé

×ÔÇ©ÃûÖ¤ÊéÊÇÒ»¸öÕâÑùµÄÖ¤Ê飺ÆäÇ©·¢ÈË£¨Ç©ÃûÈË£©ÓëÖ÷Ì壨֤ÊéËùÈÏÖ¤µÄ¹«Ô¿ËùÊôµÄʵÌ壩Ïàͬ¡£µ±µ÷Óà -genkey ÃüÁîÀ´Éú³ÉÐµĹ«Ô¿/˽Կ¶Ôʱ£¬ËüͬʱҲ°Ñ¹«Ô¿´ò°ü½ø×ÔÇ©ÃûÖ¤ÊéÖС£

ÓÐʱÄúÒ²ÐíÏ£ÍûÉú³ÉеÄ×ÔÇ©ÃûÖ¤Êé¡£ÀýÈ磬ÄúÒ²ÐíÏë¶Ô²»Í¬Éí·Ý£¨ÌØÕ÷Ãû£©Ê¹ÓÃÏàͬµÄÃÜÔ¿¶Ô¡£ÀýÈ磬¼ÙÉèÄú»»Á˸ö²¿ÃÅ¡£´ËʱÄú¿ÉÒÔ£º

     
  1. ¸´ÖÆÔ­Ê¼µÄÃÜÔ¿Ïî¡£Çë²Î¼û -keyclone¡£
  2. ÓÃÐÂÌØÕ÷ÃûΪ¸Ã¸´ÖÆÏîÉú³ÉеÄ×ÔÇ©ÃûÖ¤Êé¡£²Î¼ûÏÂÎÄ¡£
  3. Ϊ¸Ã¸´ÖÆÏîÉú³ÉÖ¤ÊéÇ©ÃûÇëÇ󣬲¢µ¼Èë´ð¸´Ö¤Êé»òÖ¤ÊéÁ´¡£²Î¼û -certreq ºÍ -import ÃüÁî¡£
  4. ɾ³ýԭʼ£¨ÏÖÔÚÒѹýʱ£©Ïî¡£²Î¼û -delete ÃüÁî¡£
ÒªÉú³É×ÔÇ©ÃûÖ¤Ê飬ÇëÓà -selfcert ÃüÁÈçÏÂËùʾ£º
    keytool -selfcert -alias dukeNew -keypass b92kqmp
      -dname "cn=Duke Smith, ou=Purchasing, o=BlueSoft, c=US"
ËùÉú³ÉµÄÖ¤Êé×÷Ϊָ¶¨±ðÃû£¨±¾ÀýÖÐΪ¡°dukeNew¡±£©Ëù±êʶµÄÃÜÔ¿²Ö¿âÏîÖеĵ¥ÔªËØÖ¤ÊéÀ´´æ´¢£¬Ëü½«È¡´úÏÖÓеÄÖ¤ÊéÁ´¡£

ÃüÁîºÍÑ¡Ïî×¢ÒâÊÂÏî

ÏÂÃæÁгö¸÷ÖÖÃüÁî¼°ÆäÑ¡Ï²¢¶ÔËüÃǽøÐÐÃèÊö¡£×¢Ò⣺

Ñ¡Ïîȱʡֵ

ÏÂÃæÊǸ÷Ñ¡ÏîµÄȱʡֵ¡£
-alias "mykey"

-keyalg "DSA"

-keysize 1024

-validity 90

-keystore Óû§ËÞÖ÷Ŀ¼ÖÐÃûΪ .keystore µÄÎļþ

-file ¶ÁʱΪ±ê×¼ÊäÈ룬дʱΪ±ê×¼Êä³ö

Ç©ÃûËã·¨£¨-sigalg Ñ¡ÏÊÇÓÉËùÉæ¼°Ë½Ô¿µÄËã·¨ÍÆµ¼¶øÀ´µÄ£ºÈç¹ûËùÉæ¼°µÄ˽ԿÊÇ¡°DSA¡±ÀàÐÍ£¬Ôò -sigalg Ñ¡ÏȱʡΪ¡°´ø DSA µÄ SHA1¡±£¬Èç¹ûËùÉæ¼°µÄ˽ԿÊÇ¡°RSA¡±ÀàÐÍ£¬Ôò -sigalg Ñ¡ÏȱʡΪ¡°´ø RSA µÄ MD5¡±¡£

³öÏÖÔÚ´ó¶àÊýÃüÁîÖеÄÑ¡Ïî

-v Ñ¡Ïî¿É³öÏÖÔÚ³ý -help Ö®ÍâµÄËùÓÐÃüÁîÖС£Èç¹û³öÏÖ¸ÃÑ¡Ï±íʾ´¦ÔÚ¡°³¤¸ñʽ¡±Ä£Ê½Ï£»½«Êä³öÏêϸµÄÖ¤ÊéÐÅÏ¢¡£

-Jjavaoption Ñ¡ÏîÒ²¿ÉÔÚÈκÎÃüÁîÖгöÏÖ¡£Èç¹û³öÏÖ¸ÃÑ¡ÏÔòËùÖ¸¶¨µÄ javaoption ×Ö·û´®½«±»Ö±½Ó´«¸ø Java ½âÊÍÆ÷¡££¨keytool ʵ¼ÊÉÏÊǽâÊÍÆ÷ÖÜΧµÄÒ»¸ö ¡°wrapper¡±¡££© ¸ÃÑ¡Ïî²»Ó¦º¬ÓÐÈκοոñ¡£ËüÓÐÖúÓÚµ÷ÕûÖ´Ðл·¾³»òÄÚ´æÊ¹Óá£Òª»ñµÃ¿ÉÓõĽâÊÍÆ÷Ñ¡ÏîµÄÇåµ¥£¬¿ÉÔÚÃüÁîÐмüÈë java -h »ò java -X¡£

ÓÐÈý¸öÑ¡Ïî¿É³öÏÖÔÚÓÃÓÚ²Ù×÷ÃÜÔ¿²Ö¿âµÄËùÓÐÃüÁîÖУº

 
-storetype storetype
´ËÏÞ¶¨·ûÖ¸¶¨½«±»ÊµÀý»¯µÄÃÜÔ¿²Ö¿âÀàÐÍ¡£È±Ê¡µÄÃÜÔ¿²Ö¿âÀàÐÍÊǰ²È«ÊôÐÔÎļþÖС°keystore.type¡±ÊôÐÔÖµËùÖ¸¶¨µÄÄǸöÀàÐÍ£¬ÓÉ java.security.KeyStore Öеľ²Ì¬·½·¨ getDefaultType ·µ»Ø¡£
-keystore keystore
ÃÜÔ¿²Ö¿â£¨Êý¾Ý¿âÎļþ£©µÄλÖá£È±Ê¡Çé¿öÏ£¬ÃÜÔ¿²Ö¿âÖ¸µÄÊÇÓû§ËÞÖ÷Ŀ¼µÄ .keystore Îļþ£¬ËüÊÇÓÉ¡°user.home¡±µÄϵͳÊôÐÔÈ·¶¨µÄ¡£ÔÚ Solaris ϵͳÖУ¬¡°user.home¡±È±Ê¡ÎªÓû§ËÞÖ÷Ŀ¼¡£
-storepass storepass
¿ÚÁÓÃÀ´±£»¤ÃÜÔ¿²Ö¿âµÄÍêÕûÐÔ¡£


storepass µÄ³¤¶È±ØÐëÖÁÉÙΪ 6 ¸ö×Ö·û¡£ËùÓзÃÎÊÃÜÔ¿²Ö¿âÄÚÈݵÄÃüÁî¶¼±ØÐëÌṩÕâһѡÏî¡£¶ÔÓÚÕâЩÃüÁÈç¹ûûÓиø³ö -storepass Ñ¡ÏÔòÓû§½«µÃµ½ÒªÇóÊäÈë¸ÃÑ¡ÏîµÄÌáʾ¡£

µ±´ÓÃÜÔ¿²Ö¿âÖмìË÷ÐÅϢʱ£¬¿ÚÁîÊôÓÚ¿ÉÑ¡ÏÈç¹ûδ¸ø³ö¿ÚÁ¾Í²»Äܼì²éËù¼ìË÷ÐÅÏ¢µÄÍêÕûÐÔ£¬¶øÇÒ½«³öÏÖ¾¯¸æ¡£

ʹÓÿÚÁîʱ±ØÐëСÐÄ - ²Î¼ûÓë¿ÚÁîÓйصľ¯¸æ¡£

Óë¿ÚÁîÓйصľ¯¸æ

´ó¶àÊý¶ÔÃÜÔ¿²Ö¿â²Ù×÷µÄÃüÁî¶¼ÒªÇó²Ö¿â¿ÚÁһЩÃüÁîÒªÇó˽Կ¿ÚÁî¡£

¿ÚÁî¿ÉÒÔÔÚÃüÁîÐÐÉÏ£¨·Ö±ðÔÚ -storepass ºÍ -keypass Ñ¡ÏîÉÏ£©Ö¸¶¨¡£µ«ÊÇ£¬³ý·ÇÊÇ×÷Ϊ²âÊÔÄ¿µÄ»òÊÇÔÚÒ»¸ö°²È«µÄϵͳÉÏ£¬·ñÔò²»Ó¦ÔÚÃüÁîÐлò½Å±¾ÖÐÖ¸¶¨¿ÚÁî¡£

Èç¹ûûÓÐÔÚÃüÁîÐÐÉÏÖ¸¶¨ËùÒªÇóµÄ¿ÚÁîÑ¡ÏÄú½«»áµÃµ½ÒªÇóÊäÈë¿ÚÁîµÄÌáʾ¡£µ±ÔÚ¿ÚÁîÌáʾ·ûϼüÈë¿ÚÁîʱ£¬¿ÚÁ±»¼´Ê±µØÏÔʾ³öÀ´£¨¼üÈëʲô¾ÍÏÔʾʲô£©£¬Òò´Ë£¬ÒªÐ¡ÐÄ£¬²»Òªµ±×ÅÈκÎÈ˵ÄÃæ¼ü¿ÚÁî¡£

ÃüÁî

ÁíÇë²ÎÔÄÃüÁîºÍÑ¡Ïî×¢ÊÍ¡£

ÏòÃÜÔ¿²Ö¿âÌí¼ÓÊý¾Ý

-genkey {-alias alias} {-keyalg keyalg} {-keysize keysize} {-sigalg sigalg} [-dname dname] [-keypass keypass] {-validity valDays} {-storetype storetype} {-keystore keystore} [-storepass storepass] {-v} {-Jjavaoption}
²úÉúÃÜÔ¿¶Ô£¨¹«Ô¿ºÍÓëÖ®¹ØÁªµÄ˽Կ£©¡£½«¹«Ô¿´ò°ü½ø X.509 v1 µÄ×ÔÇ©ÃûÖ¤ÊéÖУ¬¸ÃÖ¤ÊéÒÔµ¥ÔªËØÖ¤ÊéÁ´µÄÐÎʽ´¢´æ¡£¸ÃÖ¤ÊéÁ´ºÍ˽Կ½«´¢´æÓÚ alias Ëù±êʶµÄÐÂÃÜÔ¿²Ö¿âÏîÖС£


keyalg Ö¸¶¨ÁËÓÃÓÚÉú³ÉÃÜÔ¿¶ÔµÄËã·¨£¬¶ø keysize Ö¸¶¨ÒªÉú³ÉµÄÿ¸öÃÜÔ¿µÄ´óС¡£sigalg Ö¸¶¨Ç©Ãû×ÔÇ©ÃûÖ¤ÊéËùÓõÄËã·¨£»ÕâÒ»Ëã·¨±ØÐëÓë keyalg ¼æÈÝ¡£²Î¼ûÖ§³ÖµÄËã·¨ºÍÃÜÔ¿´óС¡£

dname Ö¸¶¨Óë alias ¹ØÁªµÄ X.500 ÌØÕ÷Ãû£¬²¢ÓÃ×÷×ÔÇ©ÃûÖ¤ÊéÖÐµÄ issuer ºÍ subject Óò¡£Èç¹ûÔÚÃüÁîÐÐÖÐûÓÐÌá¹©ÌØÕ÷Ãû£¬Óû§½«µÃµ½ÒªÇóÊäÈë¸ÃÐÅÏ¢µÄÌáʾ¡£

keypass ÊÇ¿ÚÁÓÃÀ´±£»¤ËùÉú³ÉÃÜÔ¿¶ÔÖеÄ˽Կ¡£Èç¹ûûÓÐÌṩ¿ÚÁÓû§½«µÃµ½ÒªÇóÊäÈë¿ÚÁîµÄÌáʾ¡£Èç¹ûÔÚÌáʾ·ûϰ´ RETURN ¼ü£¬ÔòÃÜÔ¿¿ÚÁ±»ÉèÖÃΪÓëÃÜÔ¿²Ö¿âËùÓõĿÚÁîÏàͬ¡£keypass µÄ³¤¶È±ØÐëÖÁÉÙΪ 6 ¸ö×Ö·û¡£Ê¹ÓÿÚÁîʱ±ØÐëСÐÄ - ²Î¼û Óë¿ÚÁîÓйصľ¯¸æ¡£

valDays Ö¸¶¨Ö¤ÊéµÄÓÐЧÆÚ¡£

-import {-alias alias} {-file cert_file} [-keypass keypass] {-noprompt} {-trustcacerts} {-storetype storetype} {-keystore keystore} [-storepass storepass] {-v} {-Jjavaoption}
´ÓÎļþ cert_file ÖжÁȡ֤Êé»òÖ¤ÊéÁ´£¨ºóÕßÔÚ PKCS#7 ¸ñʽµÄ´ð¸´Ëù¸ø³ö£©²¢½«Æä´¢´æÔÚ alias Ëù±êʶµÄÃÜÔ¿²Ö¿âÏîÖС£Èç¹ûûÓиø³öÎļþ£¬Ôò´Ó±ê×¼ÊäÈëÉ豸ÖжÁȡ֤Êé»ò PKCS#7 ´ð¸´¡£keytool ¿Éµ¼Èë X.509 v1¡¢v2 ºÍ v3 µÄÖ¤ÊéÒÔ¼°ÓɸÃÀàÖ¤ÊéËù×é³ÉµÄ PKCS#7 ¸ñʽµÄÖ¤ÊéÁ´¡£Òªµ¼ÈëµÄÊý¾Ý±ØÐëÊǶþ½øÖƱàÂë¸ñʽ»ò Internet RFC 1421 ±ê×¼Ëù¶¨ÒåµÄ¿É´òÓ¡µÄ±àÂë¸ñʽ£¨Ò²³Æ Base64 ±àÂ룩¡£ÔÚºóÒ»ÖÖÇé¿öÏ£¬±àÂë±ØÐëÓÃÒÔ¡°-----BEGIN¡±¿ªÍ·µÄ×Ö·û´®¿ªÊ¼£¬ÓÃÒÔ¡°-----END¡±½áβµÄ×Ö·û´®À´½áÊø¡£


µ±µ¼ÈëеĿÉÐÅÈÎÖ¤Êéʱ£¬ÃÜÔ¿²Ö¿âÖл¹Ã»ÓÐ alias¡£ÔÚ°ÑÖ¤ÊéÌí¼Óµ½ÃÜÔ¿²Ö¿âÖÐ֮ǰ£¬keytool ½«³¢ÊÔÓÃÃÜÔ¿²Ö¿âÖÐÒÑÓеĿÉÐÅÈÎÖ¤ÊéÀ´¹¹Ôì´Ó¸ÃÖ¤Êéµ½×ÔÇ©ÃûÖ¤Ê飨ÊôÓÚ¸ù CA£©µÄÐÅÈÎÁ´£¬ÒÔ¶ÔÖ¤Êé½øÐÐУÑé¡£

Èç¹ûÖ¸¶¨ÁË -trustcacerts Ñ¡ÏÔò½«Îª¸ÃÐÅÈÎÁ´¿¼ÂÇÆäËüÖ¤Ê飬¼´¿¼ÂÇÃûΪ¡°cacerts¡±µÄÎļþÖеÄÖ¤Ê飬¸ÃÎļþλÓÚ JDK °²È«ÊôÐÔĿ¼ java.home\lib\security ÖУ¬ÆäÖÐ java.home Ϊ JDK °²×°Ä¿Â¼¡£¡°cacerts¡±Îļþ´ú±íº¬ÓÐ CA Ö¤ÊéµÄϵͳ·¶Î§µÄÃÜÔ¿²Ö¿â¡£Í¨¹ýÖ¸¶¨ÃÜÔ¿²Ö¿âÀàÐÍΪ¡°jks¡±£¬ÏµÍ³¹ÜÀíÔ±¿ÉÓà keytool À´ÅäÖú͹ÜÀí¸ÃÎļþ¡£¡°cacerts¡±ÃÜÔ¿²Ö¿âÎļþ·¢ËÍʱ¸½ÓÐÎå¸ö VeriSign ¸ù CA Ö¤Ê飬Æä X.500 ÌØÕ÷ÃûÈçÏ£º

1. OU=Class 1 Public Primary Certification Authority, O="VeriSign, Inc.",
C=US

2. OU=Class 2 Public Primary Certification Authority, O="VeriSign,
Inc.", C=US

3. OU=Class 3 Public Primary Certification Authority,
O="VeriSign, Inc.", C=US

4. OU=Class 4 Public Primary Certification
Authority, O="VeriSign, Inc.", C=US

5. OU=Secure Server Certification
Authority, O="RSA Data Security, Inc.", C=US
¡°cacerts¡±ÃÜÔ¿²Ö¿âÎļþµÄ³õʼ¿ÚÁîΪ¡°changeit¡± ¡£ÏµÍ³¹ÜÀíÔ±ÔÚ°²×° JDK ºó£¬¾ÍÓ¦¸ÃÁ¢¼´¸ü¸ÄÕâ¸ö¿ÚÁîÒÔ¼°¸ÃÎļþµÄȱʡ·ÃÎÊȨÏÞ¡£

Èç¹û keytool ÎÞ·¨½¨Á¢´ÓÒªµ¼ÈëµÄÖ¤Êéµ½×ÔÇ©ÃûÖ¤ÊéµÄÐÅÈη¾¶£¨ÀûÓÃÃÜÔ¿²Ö¿â»ò¡°cacerts¡±Îļþ£©£¬Ôò´òÓ¡³ö¸ÃÖ¤ÊéµÄÐÅÏ¢£¬¶øÓû§½«µÃµ½ÒªÇóУÑéµÄÌáʾ£¬ÀýÈ磬ϵͳ½«Í¨ÖªÓû§Í¨¹ý±È½ÏÏÔʾ³öµÄÖ¸ÎÆºÍµÃ×ÔÆäËü£¨¿ÉÐÅÈεģ©ÐÅÏ¢À´Ô´µÄÖ¸ÎÆÀ´½øÐÐУÑ飬ÐÅÏ¢À´Ô´¿ÉÄÜÊÇÖ¤ÊéÓµÓÐÕß±¾ÈË¡£ÔÚ½«Ö¤Êé×÷Ϊһ¸ö¡°¿ÉÐÅÈΡ±Ö¤Êéµ¼Èë֮ǰ£¬ÒªÊ®·ÖСÐÄ£¬Îñ±Ø±£Ö¤¸ÃÖ¤ÊéÊÇÓÐЧµÄ£¡ -- ²Î¼ûÓйص¼Èë¿ÉÐÅÈÎÖ¤ÊéµÄ¾¯¸æ¡£È»ºó£¬Óû§¿ÉÒÔÑ¡ÔñÖÐÖ¹µ¼Èë²Ù×÷¡£µ«ÊÇ£¬Èç¹û¸øÁË -noprompt Ñ¡ÏÔò²»»áÓÐÓëÓû§µÄ½»»¥¡£

µ±µ¼ÈëÈÏÖ¤´ð¸´Ê±£¬¸ÃÈÏÖ¤´ð¸´½«ÓÃÃÜÔ¿²Ö¿âÖпÉÐÅÈεÄÖ¤ÊéÀ´È·ÈÏ£¬ÓÐʱҲʹÓÃÔÚ¡°cacerts¡±ÃÜÔ¿²Ö¿âÎļþÖÐÅäÖõÄÖ¤Ê飨Èç¹ûÖ¸¶¨ÁË -trustcacerts Ñ¡Ï¡£

Èç¹û´ð¸´ÊÇÒ»¸ö X.509 Ö¤Ê飬keytool ½«³¢ÊÔ½¨Á¢ÐÅÈÎÁ´£¬ÒÔ¸ÃÈÏÖ¤´ð¸´ÎªÍ·£¬ÒÔÊôÓÚ¸ù CA µÄ×ÔÇ©ÃûÖ¤ÊéΪβ¡£¸ÃÈÏÖ¤´ð¸´ºÍÓÃÓÚÈÏÖ¤¸ÃÈÏÖ¤´ð¸´µÄÖ¤Êé²ã´ÎÐγÉÁË alias µÄÐÂÖ¤ÊéÁ´¡£

Èç¹û´ð¸´ÊÇ PKCS#7 ¸ñʽµÄÖ¤ÊéÁ´£¬Ôò¸ÃÁ´Ó¦Ê×Ïȱ»ÅÅÐò£¨Óû§Ö¤ÊéÔÚ×îÇ°Ãæ£¬×ÔÇ©ÃûµÄ¸ù CA Ö¤ÊéÔÚ×îºóÃæ£©£¬È»ºó keytool ³¢ÊÔ½«´ð¸´Öеĸù CA Ö¤ÊéÓëÃÜÔ¿²Ö¿â»ò¡°cacerts¡±ÃÜÔ¿²Ö¿âÎļþ£¨Èç¹ûÖ¸¶¨ÁË -trustcacerts Ñ¡ÏÖеÄÈκοÉÐÅÈÎÖ¤Êé½øÐÐÆ¥Åä¡£Èç¹ûÕÒ²»µ½Æ¥Å䣬Ôò´òÓ¡³ö¸Ã¸ù CA Ö¤ÊéµÄÐÅÏ¢£¬¶øÓû§½«µÃµ½ÒªÇóУÑéËüµÄÌáʾ£¬ÀýÈ磬ϵͳ½«Í¨ÖªÓû§Í¨¹ý±È½ÏÏÔʾ³öµÄÖ¸ÎÆºÍµÃ×ÔÆäËü£¨¿ÉÐÅÈεģ©ÐÅÏ¢À´Ô´µÄÖ¸ÎÆÀ´½øÐÐУÑ飬ÐÅÏ¢À´Ô´¿ÉÄÜÊÇÖ¤ÊéÓµÓÐÕß±¾ÈË¡£Òò´Ë£¬Óû§¿ÉÒÔÑ¡ÔñÖÐÖ¹µ¼Èë²Ù×÷¡£µ«ÊÇ£¬Èç¹û¸øÁË -noprompt Ñ¡ÏÔò²»»áÓÐÓëÓû§µÄ½»»¥¡£

alias µÄÐÂÖ¤ÊéÁ´½«È¡´úÓë¸ÃÏî¹ØÁªµÄ¾ÉÖ¤ÊéÁ´¡£Ö»ÓÐÌṩÁËÓÐЧµÄ keypass£¬¼´ÌṩÁËÓÃÓÚ±£»¤¸ÃÏîµÄ˽ԿµÄ¿ÚÁîʱ£¬¾ÉÁ´²Å¿É±»È¡´ú¡£Èç¹ûûÓÐÌṩ¿ÚÁ¶øÇÒ˽Կ¿ÚÁîÓëÃÜÔ¿²Ö¿â¿ÚÁͬ£¬Óû§½«µÃµ½ÒªÇóÊäÈë¿ÚÁîµÄÌáʾ¡£Ê¹ÓÿÚÁîʱ±ØÐëСÐÄ --  ²Î¼ûÓë¿ÚÁîÓйصľ¯¸æ¡£

-selfcert {-alias alias} {-sigalg sigalg} {-dname dname} {-validity valDays} [-keypass keypass] {-storetype storetype} {-keystore keystore} [-storepass storepass] {-v} {-Jjavaoption}
ÀûÓÃÃÜÔ¿²Ö¿âÐÅÏ¢£¨°üÀ¨Óë alias ¹ØÁªµÄ˽ԿºÍ¹«Ô¿£©²úÉú X.509 v1 ×ÔÇ©ÃûÖ¤Êé¡£Èç¹ûÔÚÃüÁîÐÐÌṩÁË dname£¬Ëü½«Í¬Ê±ÓÃ×÷¸ÃÖ¤ÊéµÄÇ©·¢È˺ÍÖ÷ÌåµÄ X.500 ÌØÕ÷Ãû¡£·ñÔò£¬½«Ê¹ÓÃÓë alias ¹ØÁªµÄ X.500 ÌØÕ÷Ãû£¨Î»ÓÚÆäÏÖÓÐÖ¤ÊéÁ´µ×²¿£©¡£


ËùÉú³ÉµÄÖ¤Êé×÷Ϊ alias Ëù±êʶµÄÃÜÔ¿²Ö¿âÏîÖеĵ¥ÔªËØÖ¤ÊéÁ´À´´æ´¢£¬Ëü½«È¡´úÏÖÓеÄÖ¤ÊéÁ´¡£

sigalg Ö¸¶¨Ç©ÃûÖ¤ÊéÓõÄËã·¨¡£²Î¼ûÖ§³ÖµÄËã·¨ºÍÃÜÔ¿´óС¡£

Òª·ÃÎÊ˽Կ£¬±ØÐëÌṩÕýÈ·µÄ¿ÚÁÒòΪ˽ԿÔÚÃÜÔ¿²Ö¿âÖÐÊÇÊÜ¿ÚÁî±£»¤µÄ¡£Èç¹ûÔÚÃüÁîÐÐÖÐûÓÐÌṩ keypass£¬ÇÒ˽Կ¿ÚÁîÓë±£»¤ÃÜÔ¿²Ö¿âÍêÕûÐÔËùÓõĿÚÁͬ£¬ÔòÓû§½«µÃµ½ÒªÇóÊäÈë¸Ã¿ÚÁîµÄÌáʾ¡£Ê¹ÓÿÚÁîʱ±ØÐëСÐÄ -- ²Î¼ûÓë¿ÚÁîÓйصľ¯¸æ¡£

valDays Ö¸¶¨Ö¤ÊéµÄÓÐЧÆÚ¡£

-identitydb {-file idb_file} {-storetype storetype} {-keystore keystore} [-storepass storepass] {-v} {-Jjavaoption}
´Ó idb_file ÎļþÖжÁÈ¡ JDK 1.1.x ¸ñʽµÄÉí·ÝÊý¾Ý¿â£¬²¢½«ËüµÄÏî¼Óµ½ÃÜÔ¿²Ö¿âÖС£Èç¹ûûÓиø³öÎļþÃû£¬Ôò´Ó±ê×¼ÊäÈëÉ豸ÖжÁÈ¡Éí·ÝÊý¾Ý¿â¡£Èç¹û²»´æÔÚÃÜÔ¿²Ö¿â£¬Ôò´´½¨Ëü¡£


Ö»Óб»±ê¼ÇΪ¿ÉÐÅÈεÄÉí·ÝÊý¾Ý¿âÏ¡°Éí·Ý¡±£©²ÅÄܱ»µ¼ÈëÃÜÔ¿²Ö¿âÖС£ËùÓÐÆäËüÉí·Ý¶¼½«±»ÂÔÈ¥¡£¶Ôÿ¸ö¿ÉÐÅÈεÄÉí·Ý£¬½«´´½¨Ò»¸öÃÜÔ¿²Ö¿âÏî¡£Éí·ÝÃûÓÃ×÷¸ÃÃÜÔ¿²Ö¿âÏîµÄ¡°±ðÃû¡±¡£

ËùÓпÉÐÅÈÎÉí·ÝµÄ˽Կ¶¼½«ÔÚÏàͬµÄ¿ÚÁî storepass ϵõ½¼ÓÃÜ¡£¸Ã¿ÚÁîÓë±£»¤ÃÜÔ¿²Ö¿âÍêÕûÐÔËùÓõĿÚÁîÏàͬ¡£Óû§Ëæºó¿ÉÓà keytool ÃüÁîÑ¡Ïî¡°-keypasswd¡±À´¶Ô¸÷˽Կ¸³Óèµ¥¶ÀµÄ¿ÚÁî¡£

Éí·ÝÊý¾Ý¿âÖеÄÒ»¸öÉí·Ý¿ÉÒÔ´æ·Å¶à¸öÖ¤Ê飬¸÷Ö¤ÊéËùÈÏÖ¤µÄ¶¼ÊÇͬһ¹«Ô¿¡£µ«Ò»¸ö˽ԿµÄÃÜÔ¿²Ö¿âÃÜÔ¿ÏÓиÃ˽ԿºÍµ¥Ò»µÄ¡°Ö¤ÊéÁ´¡±£¨¸ÃÁ´×î³õÖ»ÓÐÒ»¸öÖ¤Ê飩£¬Á´ÖеĵÚÒ»¸öÖ¤Ê麬ÓÐÓë¸Ã˽Կ¶ÔÓ¦µÄ¹«Ô¿¡£µ±´ÓÉí·Ýµ¼ÈëÐÅϢʱ£¬Ö»ÓиÃÉí·ÝÖеĵÚÒ»¸öÖ¤Êé±»´¢´æµ½ÃÜÔ¿²Ö¿âÖС£ÕâÊÇÒòΪÉí·ÝÊý¾Ý¿âÖеÄÉí·ÝÃû±»ÓÃ×÷ÆäÏàÓ¦ÃÜÔ¿²Ö¿âÏîµÄ±ðÃû£¬¶ø±ðÃûÔÚÃÜÔ¿²Ö¿âÖÐÊÇΨһµÄ¡£

µ¼³öÊý¾Ý

-certreq {-alias alias} {-sigalg sigalg} {-file certreq_file} [-keypass keypass] {-storetype storetype} {-keystore keystore} [-storepass storepass] {-v} {-Jjavaoption}
Éú³É PKCS#10 ¸ñʽµÄÖ¤ÊéÇ©ÃûÇëÇó (CSR)¡£


CSR ÓÃÀ´·¢Ë͸øÈÏÖ¤»ú¹¹ (CA)¡£CA ¶ÔÈÏÖ¤ÇëÇóÕß½øÐÐÈÏÖ¤£¨Í¨³£ÊÇÀëÏߵģ©£¬²¢·µ»ØÖ¤Êé»òÖ¤ÊéÁ´£¬ÒÔÈ¡´úÃÜÔ¿²Ö¿âÖÐÏÖÓеÄÖ¤ÊéÁ´£¨¸ÃÖ¤ÊéÁ´×î³õÖ»º¬ÓÐ×ÔÇ©ÃûÖ¤Ê飩¡£

˽ԿºÍÓë alias ¹ØÁªµÄ X.500 ÌØÕ÷ÃûÓÃÓÚ´´½¨ PKCS#10 Ö¤ÊéÇëÇó¡£Òª·ÃÎÊ˽Կ£¬±ØÐëÌṩÕýÈ·µÄ¿ÚÁÒòΪ˽ԿÔÚ¿âÖÐÊÇÊÜ¿ÚÁî±£»¤µÄ¡£Èç¹ûÔÚÃüÁîÐÐûÓÐÌṩ keypass£¬ÇÒ˽Կ¿ÚÁîÓë±£»¤ÃÜÔ¿²Ö¿âÍêÕûÐÔËùÓõĿÚÁͬ£¬ÔòÓû§½«µÃµ½ÒªÇóÊäÈë¿ÚÁîµÄÌáʾ¡£

ʹÓÿÚÁîʱ±ØÐëСÐÄ -- ²Î¼ûÓë¿ÚÁîÓйصľ¯¸æ¡£

sigalg Ö¸¶¨Ç©Ãû CSR ʱÓõÄËã·¨¡£²Î¼ûÖ§³ÖµÄËã·¨ºÍÃÜÔ¿´óС¡£

CSR ´æ´¢ÔÚÎļþ certreq_file ÖС£Èç¹ûûÓиø³öÎļþÃû£¬CSR ½«±»Êä³öµ½±ê×¼Êä³öÉ豸ÖС£

Óà import ÃüÁîÀ´µ¼Èë CA Ëù·µ»ØµÄ´ð¸´¡£

-export {-alias alias} {-file cert_file} {-storetype storetype} {-keystore keystore} [-storepass storepass] {-rfc} {-v} {-Jjavaoption}
´ÓÃÜÔ¿²Ö¿âÖжÁÈ¡Óë alias ¹ØÁªµÄÖ¤Ê飬²¢½«Æä´¢´æÔÚÎļþ cert_file ÖС£


Èç¹ûûÓиø³öÎļþÃû£¬Ö¤Ê齫±»Êä³öµ½±ê×¼Êä³öÉ豸ÖС£

ȱʡÇé¿öÏ£¬Ö¤Êé±»Êä³öΪ¶þ½øÖƱàÂë¸ñʽ£¬µ«Èç¹ûÖ¸¶¨ÁË -rfc Ñ¡ÏÔò½«±»Êä³öΪ Internet RFC 1421 ±ê×¼Öж¨ÒåµÄ¿É´òÓ¡¸ñʽ¡£

Èç¹û alias ÒýÓõÄÊÇ¿ÉÐÅÈÎÖ¤Ê飬Ôò¸ÃÖ¤Ê齫±»Êä³ö¡£·ñÔò£¬alias ÒýÓõÄÊǺ¬ÓÐÏà¹ØÖ¤ÊéÁ´µÄÃÜÔ¿Ïî¡£ÔÚÕâÖÖÇé¿öÏ£¬Á´ÖеĵÚÒ»¸öÖ¤Ê齫±»·µ»Ø¡£¸ÃÖ¤Êé¶ÔÓÉ alias ËùÖ¸¶¨µÄʵÌåµÄ¹«Ô¿½øÐÐÈÏÖ¤¡£

ÏÔʾÊý¾Ý

-list {-alias alias} {-storetype storetype} {-keystore keystore} [-storepass storepass] {-v | -rfc} {-Jjavaoption}
´òÓ¡£¨µ½±ê×¼Êä³öÉ豸ÖУ©alias Ëù±êʶµÄÃÜÔ¿²Ö¿âÏîµÄÄÚÈÝ¡£Èç¹ûûÓÐÖ¸¶¨±ðÃû£¬Ôò½«´òÓ¡Õû¸öÃÜÔ¿²Ö¿âµÄÄÚÈÝ¡£


ȱʡÇé¿öÏ£¬¸ÃÃüÁî´òÓ¡Ö¤ÊéµÄ MD5 Ö¸ÎÆ¡£Èç¹ûÖ¸¶¨ÁË -v Ñ¡Ï֤Ê齫ÒԿɶÁ¸ñʽ´òÓ¡£¬Í¬Ê±°üº¬ÓµÓÐÕß¡¢Ç©·¢È˺ÍÐòÁкŵȸ½¼ÓÐÅÏ¢¡£Èç¹ûÖ¸¶¨Á˨ÁË -rfc Ñ¡Ï֤Ê齫ÒÔ Internet RFC 1421 ±ê×¼Ëù¶¨ÒåµÄ¿É´òÓ¡µÄ±àÂë¸ñʽ´òÓ¡¡£

²»ÄÜͬʱָ¶¨ -v ºÍ -rfc Á½¸öÑ¡Ïî¡£

-printcert {-file cert_file} {-v} {-Jjavaoption}
´ÓÎļþ cert_file ÖжÁȡ֤Ê齫ÒԿɶÁ¸ñʽ´òÓ¡ÆäÄÚÈÝ¡£Èç¹ûûÓиø³öÎļþÃû£¬Ôò´Ó±ê×¼ÊäÈëÉ豸ÖжÁȡ֤Êé¡£


Ö¤Êé¿ÉÒÔÊÇÓöþ½øÖƱàÂë»ò Internet RFC 1421 ±ê×¼Ëù¶¨ÒåµÄ¿É´òÓ¡±àÂë¸ñʽ¡£

×¢Ò⣺¸ÃÑ¡ÏîµÄʹÓÃÓëÃÜÔ¿²Ö¿âÎ޹ء£

¹ÜÀíÃÜÔ¿²Ö¿â

-keyclone {-alias alias} [-dest dest_alias] [-keypass keypass] [-new new_keypass] {-storetype storetype} {-keystore keystore} [-storepass storepass] {-v} {-Jjavaoption}
Éú³ÉеÄÃÜÔ¿²Ö¿âÏ¸ÃÏÓеÄ˽ԿºÍÖ¤ÊéÁ´ÓëԭʼÏîµÄÏàͬ¡£


ԭʼÏîÓÉ alias £¨Èç¹ûûÓÐÌṩ±ðÃû£¬ÔòÆäֵȱʡΪ¡°mykey¡±£©±êʶ¡£Ð£¨Ä¿±ê£©ÏîÓÉ dest_alias ±êʶ¡£Èç¹ûûÓÐÔÚÃüÁîÐÐÖÐÌṩĿ±ê±ðÃû£¬Óû§½«µÃµ½ÒªÇóÊäÈë¸ÃÐÅÏ¢µÄÌáʾ¡£

Èç¹û˽Կ¿ÚÁîÓëÃÜÔ¿²Ö¿â¿ÚÁͬ£¬ÄÇô£¬Ö»ÓÐÌṩÁËÓÐЧµÄ keypass ʱ¸ÃÏî²ÅÄܱ»¸´ÖÆ¡£keypass ÊÇÓÃÓÚ±£»¤Óë alias ¹ØÁªµÄ˽ԿµÄ¿ÚÁî¡£Èç¹ûûÓÐÔÚÃüÁîÐÐÌṩÃÜÔ¿¿ÚÁÇÒ˽Կ¿ÚÁîÓëÃÜÔ¿²Ö¿â¿ÚÁͬ£¬Óû§½«µÃµ½ÒªÇóÊäÈë¿ÚÁîµÄÌáʾ¡£Èç¹ûÔ¸Ò⣬¿ÉÓò»Í¬µÄ¿ÚÁîÀ´±£»¤¸´ÖÆÏîÖеÄ˽Կ¡£Èç¹ûûÓÐÔÚÃüÁîÐÐÌṩ -new Ñ¡ÏÓû§½«µÃµ½ÌáʾҪÇóÊäÈëÐÂÏîµÄ¿ÚÁ¿ÉÒÔÑ¡ÔñÈøÿÚÁîÓë±»¸´ÖÆÏîµÄ˽ԿËùÓõĿÚÁîÏàͬ£©¡£

ʹÓÿÚÁîʱ±ØÐëСÐÄ -- ²Î¼ûÓë¿ÚÁîÓйصľ¯¸æ¡£

¸ÃÃüÁî¿ÉÓÃÓÚ½¨Á¢¶à¸öÓë¸ø¶¨ÃÜÔ¿¶ÔÏà¶ÔÓ¦µÄÖ¤ÊéÁ´£¬»òÓÃÓÚ±¸·Ý¡£

-storepasswd [-new new_storepass] {-storetype storetype} {-keystore keystore} [-storepass storepass] {-v} {-Jjavaoption}
¸ü¸Ä±£»¤ÃÜÔ¿²Ö¿âÄÚÈݵÄÍêÕûÐÔËùÓõĿÚÁпÚÁîΪ new_storepass£¬Æä³¤¶È±ØÐëÖÁÉÙÊÇ 6 ¸ö×Ö·û¡£


ʹÓÿÚÁîʱ±ØÐëСÐÄ -- ²Î¼ûÓë¿ÚÁîÓйصľ¯¸æ¡£

-keypasswd {-alias alias} [-keypass old_keypass] [-new new_keypass] {-storetype storetype} {-keystore keystore} [-storepass storepass] {-v} {-Jjavaoption}
°Ñ±£»¤ alias Ëù±êʶµÄ˽ԿµÄ¿ÚÁî´Ó old_keypass ¸ü¸ÄΪ new_keypass¡£


Èç¹ûûÓÐÔÚÃüÁîÐÐÌṩ keypass Ñ¡ÏÇÒ˽Կ¿ÚÁîÓëÃÜÔ¿²Ö¿â¿ÚÁͬ£¬ÔòÓû§½«µÃµ½ÒªÇóÊäÈë¸Ã¿ÚÁîµÄÌáʾ¡£

Èç¹ûûÓÐÔÚÃüÁîÐиø³ö -new Ñ¡ÏÔòÓû§½«µÃµ½ÒªÇóÊäÈëпÚÁîµÄÌáʾ¡£

ʹÓÿÚÁîʱ±ØÐëСÐÄ -- ²Î¼ûÓë¿ÚÁîÓйصľ¯¸æ¡£

-delete [-alias alias] {-storetype storetype} {-keystore keystore} [-storepass storepass] {-v} {-Jjavaoption}
´ÓÃÜÔ¿²Ö¿âÖÐɾ³ý alias Ëù±êʶµÄÏî¡£Èç¹ûûÓÐÔÚÃüÁîÐÐÉÏÌṩ±ðÃû£¬ÔòÓû§½«µÃµ½ÒªÇóÊäÈë±ðÃûµÄÌáʾ¡£

»ñÈ¡°ïÖú

-help
ÁгöËùÓеÄÃüÁî¼°ÆäÑ¡Ïî¡£

ʾÀý

¼ÙÉèÄúÒª´´½¨Ò»¸öÃÜÔ¿²Ö¿âÒÔ¹ÜÀíÄúµÄ¹«Ô¿/˽Կ¶ÔÀ´×ÔÄúËùÐÅÈÎʵÌåµÄÖ¤Êé¡£

Éú³ÉÃÜÔ¿¶Ô

ÄúÊ×ÏÈÒª×öµÄÊÇ´´½¨Ò»¸öÃÜÔ¿²Ö¿âºÍÉú³ÉÃÜÔ¿¶Ô¡£Äú¿ÉÒÔʹÓÃÒÔÏÂÃüÁ
    keytool -genkey -dname "cn=Mark Jones, ou=JavaSoft, o=Sun, c=US"
      -alias business -keypass kpi135 -keystore /working/mykeystore
      -storepass ab987c -validity 180
£¨Çë×¢Ò⣺¼üÈë¸ÃÃüÁîʱ±ØÐëʹÆä³ÉΪһÐС£´Ë´¦ÓöàÐÐÀ´ÏÔʾ£¬Ö÷ÒªÊÇΪÁ˿ɶÁÐÔ¡££©

¸ÃÃüÁÔÚ C Å̵ġ°working¡±Ä¿Â¼£¨¼ÙÉèËü»¹²»´æÔÚ£©Öд´½¨ÃûΪ¡°mykeystore¡±µÄÃÜÔ¿²Ö¿â£¬²¢¸³ÓèËü¿ÚÁî¡°ab987c¡±¡£Ëü½«ÎªÊµÌåÉú³É¹«Ô¿/˽Կ¶Ô£¬¸ÃʵÌåµÄ¡°ÌØÕ÷Ãû¡±Îª£º³£ÓÃÃû¡°Mark Jones¡±¡¢×éÖ¯µ¥Î»¡°JavaSoft¡±¡¢×éÖ¯¡°Sun¡±ºÍÁ½¸ö×ÖĸµÄ¹ú¼Ò´úÂë¡°US¡±¡£ËüʹÓÃȱʡµÄ¡°DSA¡±ÃÜÔ¿Éú³ÉËã·¨À´´´½¨ÃÜÔ¿£¬Á½¸öÃÜÔ¿£¨¹«Ô¿Óë˽Կ£©µÄ³¤¶È¶¼ÊÇ 1024 λ¡£

Ëü´´½¨×ÔÇ©ÃûÖ¤Ê飨ʹÓÃȱʡµÄ¡°´ø DSA µÄ SHA1¡±Ç©ÃûËã·¨£©£¬¸ÃÖ¤Êé°üÀ¨¹«Ô¿ºÍÌØÕ÷ÃûÐÅÏ¢¡£¸ÃÖ¤ÊéµÄÓÐЧÆÚΪ 180 Ì죬ÇÒÓë±ðÃû¡°business¡±Ëù´ú±íµÄÃÜÔ¿²Ö¿âÏî¹ØÁª¡£Ë½Ô¿±»¸³Óè¿ÚÁî¡°kpi135¡±¡£

Èç¹û²ÉÓÃÑ¡ÏîµÄȱʡֵ£¬¿ÉÒÔ´ó´óËõ¶Ì¸ÃÃüÁʵ¼ÊÉÏ£¬ÕâЩѡÏî²¢²»ÊDZØÐèµÄ£»¶ÔÓÚÓÐȱʡֵµÄÑ¡Ïδָ¶¨Ê±½«Ê¹ÓÃȱʡֵ£¬¶ÔÓÚÈκα»ÒªÇóµÄÖµ£¬Äú½«»áµÃµ½ÒªÇóÊäÈëËüµÄÌáʾ¡£Òò´Ë£¬Äú¿ÉÒÔֻʹÓÃÏÂÃæµÄÃüÁ

    keytool -genkey
ÕâÖÖÇé¿öÏ£¬½«´´½¨Ò»¸ö¾ßÓбðÃû¡°mykey¡±µÄÃÜÔ¿²Ö¿âÏËüº¬ÓÐÐÂÉú³ÉµÄÃÜÔ¿¶ÔºÍÓÐЧÆÚΪ 90 ÌìµÄÖ¤Êé¡£¸ÃÏî±»·ÅÔÚÄúµÄËÞÖ÷Ŀ¼ÏÂÒ»¸öÃûΪ¡°.keystore¡±µÄÃÜÔ¿²Ö¿âÖÐ £¨Èç¹û¸ÃÃÜÔ¿²Ö¿â²¢²»´æÔÚ£¬Ôò½«´´½¨Ëü£©¡£Äú½«µÃµ½ÒªÇóÊäÈëÌØÕ÷ÃûÐÅÏ¢¡¢ÃÜÔ¿²Ö¿â¿ÚÁîºÍ˽Կ¿ÚÁîµÄÌáʾ¡£

ÆäÓàʾÀý¼ÙÉèÄúÖ´ÐÐÁËδָ¶¨Ñ¡ÏîµÄ -genkey ÃüÁÇÒÓÃÉÏÊöµÚÒ»¸ö -genkey ÃüÁîÖиø³öµÄÖµÀ´»Ø´ðÌáʾҪÇó£¨Ë½Ô¿¿ÚÁîΪ¡°kpi135¡±µÈµÈ£©¡£

´ÓÈÏÖ¤»ú¹¹ÇëÇóÒÑÇ©ÃûµÄÖ¤Êé

ĿǰΪֹÎÒÃÇËù¾ßÓеľÍÊÇ×ÔÇ©ÃûÖ¤Êé¡£Ö¤ÊéÈç¹ûÓÉÈÏÖ¤»ú¹¹ (CA) Ç©Ãû£¬½«¸üÓпÉÄܵõ½±ðÈ˵ÄÐÅÈΡ£ÒªµÃµ½ÕâÑùµÄÇ©Ãû£¬Ê×ÏÈÒªÓÃÒÔÏÂÃüÁîÉú³ÉÖ¤ÊéÇ©ÃûÇëÇó (CSR)£º
    keytool -certreq -file MarkJ.csr
Õ⽫Ϊȱʡ±ðÃû¡°mykey¡±Ëù±êʶµÄʵÌåÉú³É CSR£¬²¢½«´ËÇëÇó·ÅÔÚÃûΪ¡°MarkJ.csr¡±µÄÎļþÖС£½«´ËÎļþÌá½»¸øÄ³¸ö CA£¨ÀýÈç VeriSign, Inc.£©¡£¸Ã CA ½«¶ÔÄúÕâ¸öÇëÇóÕß½øÐÐÈÏÖ¤£¨Í¨³£ÊÇÀëÏߵģ©£¬È»ºó·µ»ØËüÃÇËùÇ©ÃûµÄÖ¤Ê飬ÓÃÓÚÈÏÖ¤ÄúµÄ¹«Ô¿¡££¨Ä³Ð©Çé¿öÏ£¬ËüÃÇʵ¼ÊÉϽ«·µ»ØÖ¤ÊéÁ´£¬Á´ÖÐÿ¸öÖ¤Êé¶¼ÈÏ֤ǰһ¸öÖ¤ÊéµÄÇ©ÃûÈ˵Ĺ«Ô¿¡££©

µ¼Èë CA µÄÖ¤Êé

×ÔÇ©ÃûÖ¤Ê鱨ÐëÓÃÖ¤ÊéÁ´´úÌæ£¬Á´ÖеÄÿ¸öÖ¤Êé¶¼ÈÏ֤ǰһ¸öÖ¤ÊéµÄÇ©ÃûÈ˵Ĺ«Ô¿£¬Ö±µ½¡°¸ù¡±CA Ϊֹ¡£

ÔÚµ¼Èë CA µÄ´ð¸´Ö®Ç°£¬ÔÚÄúµÄÃÜÔ¿²Ö¿âÖлò cacerts ÃÜÔ¿²Ö¿âÎļþ£¨Èçµ¼ÈëÃüÁîÖÐËùÊö£©ÖÐÐèÒªÓÐÒ»¸ö»ò¶à¸ö¡°¿ÉÐÅÈΡ±Ö¤Ê飺

¡°cacerts¡±ÃÜÔ¿²Ö¿âÎļþ·¢ËÍʱ¸½ÓÐÎå¸ö VeriSign ¸ù CA Ö¤Ê飬Òò´ËÄú¿ÉÄܲ¢²»ÐèÒªµ¼Èë VeriSign Ö¤ÊéÒÔ×÷ΪÃÜÔ¿²Ö¿âÖеĿÉÐÅÈÎÖ¤Êé¡£µ«Èç¹ûÄúÇëÇóÓÉÁíÒ»¸ö CA Ç©ÃûµÄÖ¤Ê飬¶øÈÏÖ¤¸Ã CA µÄ¹«Ô¿µÄÖ¤Êéδ±»¼Óµ½¡°cacerts¡±ÖУ¬ÔòÄúÐèÒª½«À´×Ըà CA µÄÖ¤Êé×÷Ϊ¡°¿ÉÐÅÈÎÖ¤Ê顱µ¼Èë¡£

À´×Ô CA µÄÖ¤Êéͨ³£ÊÇ×ÔÇ©ÃûµÄ»òÊÇÓÉÁíÒ»¸ö CA Ç©ÃûµÄ£¨ÕâÖÖÇé¿öÏÂÄú»¹ÐèÒªÈÏÖ¤¸Ã CA µÄ¹«Ô¿µÄÖ¤Ê飩¡£¼ÙÉè ABC, Inc. ¹«Ë¾ÊÇ CA£¬¶øÄú´Ó¸Ã¹«Ë¾»ñµÃÒ»¸öÉù³ÆÊÇ×ÔÇ©ÃûÖ¤ÊéµÄÃûΪ¡°ABCCA.cer¡±µÄÎļþ£¬ËüÓÃÓÚÈÏÖ¤¸Ã CA µÄ¹«Ô¿¡£

ÔÚ½«Ö¤Êé×÷Ϊһ¸ö¡°¿ÉÐÅÈΡ±Ö¤Êéµ¼Èë֮ǰ£¬ÒªÊ®·ÖСÐÄ£¬Îñ±Ø±£Ö¤¸ÃÖ¤ÊéÊÇÓÐЧµÄ£¡ ÏȲ鿴һÏ£¨Óà keytool -printcert ÃüÁ»òÓò»´ø -noprompt Ñ¡ÏîµÄ keytool -import ÃüÁÒÔÈ·±£ËùÏÔʾµÄÖ¤ÊéÖ¸ÎÆÓëËùÔ¤¼ÆµÄÏàÆ¥Å䡣Ȼºó¿ÉÒÔ¸ø·¢ËÍÖ¤ÊéµÄÈË´òµç»°£¬½«ÄúËù¿´µ½µÄÖ¸ÎÆÓëËûÃÇËùÌṩµÄ£¨»ò°²È«¹«Ô¿´¢´æ¿âËùÏÔʾµÄ£©½øÐбȽϡ£Ö»ÓÐÁ½ÕßÏàµÈ²Å¿É±£Ö¤Ö¤ÊéÔÚ´«ËÍ;ÖÐûÓб»ÆäËüÈË£¨ÀýÈ磬¹¥»÷Õߣ©µÄÖ¤ÊéËù¸ü»»¡£Èç¹û·¢ÉúÁËÕâÑùµÄ¹¥»÷£¬¶øÄúδ¼ì²éÖ¤Êé¼´½«Æäµ¼È룬ÄÇôÄú¾Í»áÐÅÈι¥»÷ÕßËùÇ©ÃûµÄÈκζ«Î÷¡£

Èç¹ûÄúÏàÐÅÖ¤ÊéÊÇÓÐЧµÄ£¬ÔòÄú¿ÉÒÔÓÃÒÔÏÂÃüÁÆä¼Óµ½ÃÜÔ¿²Ö¿âÖУº

    keytool -import -alias abc -file ABCCA.cer
Õ⽫ÔÚÃÜÔ¿²Ö¿âÖÐÓÃÎļþ¡°ABCCA.cer¡±ÖеÄÊý¾Ý´´½¨¡°¿ÉÐÅÈÎÖ¤Ê顱Ï²¢½«±ðÃû¡°abc¡±¸³Óè¸ÃÏî¡£

µ¼ÈëÀ´×Ô CA µÄÈÏÖ¤´ð¸´

Ò»µ©µ¼ÈëÁËÓÃÓÚÈÏÖ¤ CA£¨¸Ã CA ÊÇÄú½«Ö¤ÊéÇ©ÃûÇëÇóËÍÍùÖ®´¦£©¹«Ô¿µÄÖ¤Êéºó£¬»òÔÚ¡°cacerts¡±ÎļþÖÐÒÑÓÐÕâÖÖÖ¤Êéʱ£¬¾Í¿ÉÒÔµ¼Èë¸ÃÈÏÖ¤´ð¸´£¬´Ó¶øÓÃÖ¤ÊéÁ´È¡´úÄúµÄ×ÔÇ©ÃûÖ¤Êé¡£Èç¹û CA µÄ´ð¸´ÊÇÖ¤ÊéÁ´£¬Ôò¸ÃÁ´ÊÇ CA ÏìÓ¦ÄúµÄÇëÇó¶ø·µ»ØµÄÖ¤ÊéÁ´£»Èç¹û CA µÄ´ð¸´ÊÇÒ»¸öÖ¤Ê飬Ôò¸ÃÁ´ÊÇÓÃÈÏÖ¤´ð¸´ºÍ¿ÉÐÅÈÎÖ¤Ê齨Á¢µÄÖ¤ÊéÁ´£¬ÕâЩ¿ÉÐÅÈÎÖ¤ÊéÊÇÃÜÔ¿²Ö¿â£¨ÄúÒª½«ÈÏÖ¤´ð¸´µ¼ÈëÖ®´¦£©»ò¡°cacerts¡±ÃÜÔ¿²Ö¿âÎļþÖÐÒÑÓеġ£

ÀýÈ磬¼ÙÉèÄú½«Ö¤ÊéÇ©ÃûÇëÇóËÍÍù VeriSign¡£Äú¿ÉÓÃÒÔÏÂÃüÁîÀ´µ¼ÈëÈÏÖ¤´ð¸´£¬¸ÃÃüÁî¼Ù¶¨Ëù·µ»ØµÄÖ¤ÊéÃûΪ¡°VSMarkJ.cer¡±£º

    keytool -import -trustcacerts -file VSMarkJ.cer

µ¼³öÓÃÓÚÈÏÖ¤ÄúµÄ¹«Ô¿µÄÖ¤Êé

¼ÙÉèÄúÓà jarsigner ¹¤¾ßÀ´Ç©Ãû Java ¹éµµ (JAR) Îļþ¡£ÐèҪʹÓÃÕâÒ»ÎļþµÄ¿Í»§»ú½«ÈÏÖ¤ÄúµÄÇ©Ãû¡£

ÈÏ֤ǩÃûµÄÒ»ÖÖ·½·¨ÊÇÏȽ«ÄúµÄ¹«Ô¿Ö¤Êé×÷Ϊ¡°¿ÉÐÅÈΡ±Ïîµ¼ÈëËüÃǵÄÃÜÔ¿²Ö¿âÖС£Äú¿ÉÒÔ½«Ö¤Êéµ¼³ö²¢½«ÆäÌṩ¸ø¿Í»§»ú¡£ÀýÈ磬¼ÙÉèÏîµÄ±ðÃûΪ¡°mykey¡±£¬Äú¿ÉÒÔÓÃÒÔÏÂÃüÁÄúµÄÖ¤Êéµ¼³öµ½ÃûΪ MJ.cer µÄÎļþÖУº

    keytool -export -alias mykey -file MJ.cer
ÓÐÁ˸ÃÖ¤ÊéÒÔ¼°Òѱ»Ç©ÃûµÄ JAR Îļþ£¬¿Í»§»ú¾Í¿ÉÒÔÓà jarsigner ¹¤¾ßÀ´ÈÏÖ¤ÄúµÄÇ©Ãû¡£

¸ü¸ÄÌØÕ÷Ãûµ«±£ÁôÃÜÔ¿¶Ô

¼ÙÉ裬ƩÈç˵ÒòΪÄú»»Á˲¿ÃÅ»ò°áµ½ÁíÒ»¸ö³ÇÊÐÈ¥Á˶ø¸Ä±äÁËÄúµÄÌØÕ÷Ãû¡£Èç¹ûÔ¸Ò⣬ÄúÈÔÈ»¿ÉÒÔʹÓÃÄúÏÈǰʹÓõĹ«Ô¿/˽Կ¶Ô¶øÖ»¶ÔÌØÕ÷Ãû½øÐиüС£ÀýÈ磬¼ÙÉèÄúµÄÃû×ֽРSusan Miller£¬²¢ÓñðÃû sMiller ºÍÒÔϵÄÌØÕ÷Ãû´´½¨Á˳õʼÃÜÔ¿Ï
  "cn=Susan Miller, ou=Finance Department, o=BlueSoft, c=us"
¼ÙÉèÄú´Ó²ÆÎñ²¿ÃÅ»»µ½ÁË»á¼Æ²¿ÃÅ¡£ÄúÈÔÈ»¿ÉʹÓÃÏÈǰËùÉú³ÉµÄ¹«Ô¿/˽Կ¶Ô£¬¶øÓÃÒÔÏ·½·¨¶ÔÌØÕ÷Ãû½øÐиüС£Ê×ÏÈ£¬¸´ÖÆÄúµÄÃÜÔ¿Ï
    keytool -keyclone -alias sMiller -dest sMillerNew
£¨Äú½«µÃµ½ÒªÇóÊäÈëÃÜÔ¿²Ö¿â¿ÚÁîºÍ³õʼÃÜÔ¿¿ÚÁî¼°Ä¿±êÃÜÔ¿¿ÚÁîµÄÌáʾ£¬ÒòΪÔÚÃüÁîÐÐûÓÐÌṩÕâЩÐÅÏ¢¡££© ÏÖÔÚ£¬ÄúÐèÒª¸ü¸ÄÓë¸´ÖÆÏî¹ØÁªµÄÖ¤ÊéÁ´ÒÔʹÁ´ÖеĵÚÒ»¸öÖ¤ÊéʹÓÃÄúµÄÐÂÌØÕ÷Ãû¡£ÏÈÓÃÏàÓ¦Ãû³ÆÉú³É×ÔÇ©ÃûÖ¤Ê飺
    keytool -selfcert -alias sMillerNew
      -dname "cn=Susan Miller, ou=Accounting Department, o=BlueSoft, c=us"
È»ºó¸ù¾Ý¸ÃÐÂÖ¤ÊéÖеÄÐÅÏ¢Éú³ÉÖ¤ÊéÇ©ÃûÇëÇó£º
    keytool -certreq -alias sMillerNew
µ±ÄúµÃµ½ CA ÈÏÖ¤´ð¸´ºó£¬½«Æäµ¼È룺
    keytool -import -alias sMillerNew -file VSSMillerNew.cer
µ¼ÈëÈÏÖ¤´ð¸´ºó£¬ÄúÒ²Ðí»áҪɾ³ýʹÓþÉÌØÕ÷ÃûµÄ³õʼÃÜÔ¿Ï
    keytool -delete -alias sMiller

ÁíÇë²ÎÔÄ

Ì