Copyright (C) 2000-2012 |
Manpages jarsignerSection: User Commands (1)Updated: 2000 ǯ 7 ·î 28 Æü Index Return to Main Contents ̾Á°jarsigner - JAR ½ð̾¤ª¤è¤Ó¸¡¾Ú¥Ä¡¼¥ë·Á¼°jarsigner [ -keystore file ] [ -keystore url ][ -storepass storetype ] [ -storepass password ] [ -keypass password ] [ -sigfile file ] [ -signedjar file ] [ -verify ] [ -certs ] [ -verbose ] [ -internalsf ] [ -sectionsonly ] [ -providerprovider_class_name ] [ -Jflag ] jar-file alias µ¡Ç½ÀâÌÀjarsigner ¥Ä¡¼¥ë¤Ï¡¢¼¡¤Î 2 ¤Ä¤ÎÌÜŪ¤Ç»ÈÍѤ·¤Þ¤¹¡£
JAR µ¡Ç½¤ò»È¤¦¤È¡¢¥¯¥é¥¹¥Õ¥¡¥¤¥ë¡¢¥¤¥á¡¼¥¸¡¢¥µ¥¦¥ó¥É¡¢¤ª¤è¤Ó¤½¤Î¾¤Î¥Ç¥¸¥¿¥ë¥Ç¡¼¥¿ ¤òñ°ì¤Î¥Õ¥¡¥¤¥ë¤Ë¥Ñ¥Ã¥±¡¼¥¸²½¤Ç¤¤ë¤Î¤Ç¡¢¥Õ¥¡¥¤¥ë¤ò¿×®¤«¤ÄÍưפËÇÛÉۤǤ¤Þ¤¹¡£ ³«È¯¼Ô¤Ï¡¢ jar ¤È¤¤¤¦Ì¾Á°¤Î¥Ä¡¼¥ë¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤¤Þ¤¹¡£µ»½ÑŪ¤Ê´ÑÅÀ¤«¤é¸À¤¨¤Ð¡¢ ¤¹¤Ù¤Æ¤Î ZIP ¥Õ¥¡¥¤¥ë¤â JAR ¥Õ¥¡¥¤¥ë¤È¤ß¤Ê¤¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¡Ö¥Ç¥¸¥¿¥ë½ð̾¡×¤Ï¡¢¤Ê¤ó¤é¤«¤Î¥Ç¡¼¥¿ (¡Ö½ð̾¡×¤ÎÂоݤȤʤë¥Ç¡¼¥¿) ¤È¡¢¥¨¥ó¥Æ¥£¥Æ¥£ (¿Í¡¢²ñ¼Ò¤Ê¤É) ¤ÎÈó¸ø³«¸°¤È¤Ë´ð¤Å¤¤¤Æ·×»»¤µ¤ì¤ë¥Ó¥Ã¥ÈÎó¤Ç¤¹¡£¼ê½ñ¤¤Î½ð̾ƱÍÍ¡¢ ¥Ç¥¸¥¿¥ë½ð̾¤Ë¤Ï¿¤¯¤ÎÍøÅÀ¤¬¤¢¤ê¤Þ¤¹¡£
¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ¥¨¥ó¥Æ¥£¥Æ¥£¤Î½ð̾¤òÀ¸À®¤¹¤ë¤Ë¤Ï¡¢¤Þ¤º¡¢¤½¤Î¥¨¥ó¥Æ¥£¥Æ¥£¤¬¸ø³«¸°¤È Èó¸ø³«¸°¤Î¥Ú¥¢¤ò»ý¤ÄɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤Þ¤¿¡¢¸ø³«¸°¤òǧ¾Ú¤¹¤ë 1 ¤Ä°Ê¾å¤Î¾ÚÌÀ½ñ¤â ɬÍפǤ¹¡£¡Ö¾ÚÌÀ½ñ¡×¤È¤Ï¡¢¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤«¤é¤Î¥Ç¥¸¥¿¥ë½ð̾ÉÕ¤¤Îʸ½ñ¤Î¤³¤È¤Ç¤¹¡£ ¾ÚÌÀ½ñ¤Ë¤Ï¡¢¤Û¤«¤Î¤¢¤ë¥¨¥ó¥Æ¥£¥Æ¥£¤Î¸ø³«¸°¤¬ÆÃÊ̤ÊÃͤò»ý¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ñ¤«¤ì¤Æ ¤¤¤Þ¤¹¡£ jarsigner ¤Ï¡¢¡Ö¥¡¼¥¹¥È¥¢¡×¤Ë´Þ¤Þ¤ì¤ë¸°¤È¾ÚÌÀ½ñ¾ðÊó¤ò»È¤Ã¤Æ¡¢JAR ¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤ò À¸À®¤·¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Ï¡¢Èó¸ø³«¸°¤È¡¢Èó¸ø³«¸°¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿ X.509 ¾ÚÌÀÏ¢º¿¤¬ ¼ý¤á¤é¤ì¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ç¤¹¡£¾ÚÌÀÏ¢º¿¤Ï¡¢Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤òǧ¾Ú¤·¤Þ¤¹¡£ ¥¡¼¥¹¥È¥¢¤ÎºîÀ®¤È´ÉÍý¤Ë¤Ï¡¢ keytool ¥æ¡¼¥Æ¥£¥ê¥Æ¥£¤ò»È¤¤¤Þ¤¹¡£ jarsigner ¤Ï¡¢¥¨¥ó¥Æ¥£¥Æ¥£¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ½ð̾¤òÀ¸À®¤·¤Þ¤¹¡£½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢ ¥¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Î¥³¥Ô¡¼¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Î½ð̾¤Ë»È¤ï ¤ì¤¿Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤Î¾ÚÌÀ½ñ¤Î¥³¥Ô¡¼¤Ç¤¹¡£ jarsigner ¤Ï¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î¥Ç¥¸¥¿¥ë½ð̾¤ò¡¢¥Õ¥¡¥¤¥ëÆâ (¤Î½ð̾¥Ö¥í¥Ã¥¯¥Õ¥¡¥¤¥ë) ¤Ë´Þ ¤Þ¤ì¤Æ¤¤¤ë¾ÚÌÀ½ñ¤ò»È¤Ã¤Æ¸¡¾Ú¤¹¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ ¸½»þÅÀ¤Ç¤Ï¡¢ jarsigner ¤Ç½ð̾¤Ç¤¤ë¤Î¤Ï¡¢JDK ¤Î jar ¥Ä¡¼¥ë¤ÇºîÀ®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¡¢¤Þ¤¿¤Ï ZIP ¥Õ¥¡¥¤¥ë¤À¤±¤Ç¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Ï ZIP ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï META-INF/MANIFEST.MF ¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Æ¤¤¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£ META-INF/MANIFEST.MF ¥Õ¥¡¥¤¥ë¤Ï¡¢ jarsigner ¤¬ ZIP ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ë¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤Þ¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡¢ jarsigner ¤Ï JAR ¥Õ¥¡¥¤¥ë¤Ë¡Ö½ð̾¡×¤òÉÕ¤±¤Þ¤¹¡£ ½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤ò¡Ö¸¡¾Ú¡×¤¹¤ë¾ì¹ç¤Ï¡¢ -verify ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤Þ¤¹¡£ JDK 1.1 ¤È¤Î¸ß´¹Àkeytool ¥Ä¡¼¥ë¤È jarsigner ¥Ä¡¼¥ë¤Ï¡¢JDK 1.1 ¤ÇÄ󶡤µ¤ì¤Æ¤¤¤¿ javakey ¥Ä¡¼¥ë¤ò´°Á´¤ËÃÖ¤´¹¤¨¤ë¤â¤Î¤Ç¤¹¡£¤³¤ì¤é¤Î¿·¤·¤¤¥Ä¡¼¥ë¤Ï javakey ¤è¤ê¤â¿¤¯¤Îµ¡Ç½¤òÈ÷¤¨¤Æ¤ª¤ê¡¢¥¡¼¥¹¥È¥¢¤ÈÈó¸ø³«¸°¤ò¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ëµ¡Ç½¤ä¡¢ ½ð̾¤ÎÀ¸À®¤À¤±¤Ç¤Ê¤¯½ð̾¤ò¸¡¾Ú¤¹¤ëµ¡Ç½¤ò»ý¤Ã¤Æ¤¤¤Þ¤¹¡£¿·¤·¤¤¥¡¼¥¹¥È¥¢¥¢¡¼¥¥Æ¥¯¥Á¥ã¤Ï¡¢ javakey ¤¬ºîÀ®¤·¤Æ´ÉÍý¤·¤Æ¤¤¤¿¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤ËÂå¤ï¤ë¤â¤Î¤Ç¤¹¡£¥¡¼¥¹¥È¥¢·Á¼°¤È¡¢JDK 1.1 ¤Î javakey ¤¬»È¤Ã¤Æ¤¤¤¿¥Ç¡¼¥¿¥Ù¡¼¥¹·Á¼°¤È¤Î´Ö¤Ë¤Ï²¼°Ì¸ß´¹À¤Ï¤¢¤ê¤Þ¤»¤ó¡£¤¿¤À¤·¡¢¼¡¤Î¤è¤¦¤Ê ¤³¤È¤Ï²Äǽ¤Ç¤¹¡£
¼¡¤Îɽ¤Ï¡¢JDK 1.1.x ¤Ç½ð̾¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤¬¡¢JDK 1.2 ¤Ç¤É¤Î¤è¤¦¤Ë°·¤ï¤ì¤ë¤«¤ò ¼¨¤·¤Æ¤¤¤Þ¤¹¡£
1.1 ¥Ç¡¼¥¿ 1.1 ¥Ç¡¼¥¿ ¥Ù¡¼¥¹¤«¤é ¥Ý¥ê¥·¡¼ JAR ¥Ù¡¼¥¹Æâ¤Î 1.2 ¥¡¼¥¹ ¥Õ¥¡¥¤¥ë ¥Õ¥¡¥¤¥ë ¥¢¥¤¥Ç¥ó ¥È¥¢¤Ë¥¤¥ó ¤¬¥¢¥¤¥Ç¥ó Í¿¤¨¤é¤ì¤ë ¤Î¥¿¥¤¥× ¥Æ¥£¥Æ¥£ ¥Ý¡¼¥È¤µ¤ì ¥Æ¥£¥Æ¥£/ Æø¢ ¤ë¿®Íê¤Ç¤ ÊÌ̾¤ËÆø¢ ¤ë¥¢¥¤¥Ç¥ó ¤òÍ¿¤¨¤ë ¥Æ¥£¥Æ¥£(4) ½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë JAR ¡ß ¡ß ¡ß Í¿¤¨¤é¤ì¤ë ¥Ç¥Õ¥©¥ë¥È¤Î Æø¢ ½ð̾¤Î¤Ê¤¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë JAR ¡ß ¡ß ¡ß Í¿¤¨¤é¤ì¤ë ¥Ç¥Õ¥©¥ë¥È¤Î Æø¢ ½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë JAR ¡ß ¡û ¡ß Í¿¤¨¤é¤ì¤ë ¥Ç¥Õ¥©¥ë¥È¤Î Æø¢ ½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë JAR ¡û/¿®Íê¤Ç ¡ß ¡ß Í¿¤¨¤é¤ì¤ë ¤¤Ê¤¤ ¥Ç¥Õ¥©¥ë¥È¤Î Æø¢ (3) ½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë JAR ¡û/¿®Íê¤Ç ¡ß ¡û Í¿¤¨¤é¤ì¤ë ¤¤Ê¤¤ ¥Ç¥Õ¥©¥ë¥È¤Î Æø¢ (1,3) ½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë JAR ¡ß ¡û ¡û Í¿¤¨¤é¤ì¤ë ¥Ç¥Õ¥©¥ë¥È¤Î Æø¢¤È¥Ý¥ê¥·¡¼ ¥Õ¥¡¥¤¥ëÆâ ¤ÇÍ¿¤¨¤é¤ì¤ë Æø¢ ½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î¥³¡¼¥É¤Ë JAR ¡û/¿®Íê ¡û ¡û Í¿¤¨¤é¤ì¤ë ¤Ç¤¤ë ¥Ç¥Õ¥©¥ë¥È¤Î Æø¢¤È¥Ý¥ê¥·¡¼ ¥Õ¥¡¥¤¥ëÆâ ¤ÇÍ¿¤¨¤é¤ì¤ë Æø¢ (2) ½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î JAR ¡û/¿®Íê ¡ß ¡ß Æø¢ ¤Ç¤¤ë ½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î JAR ¡û/¿®Íê ¡û ¡ß Æø¢ (1) ¤Ç¤¤ë ½ð̾ÉÕ¤ ¤¹¤Ù¤Æ¤Î JAR ¡û/¿®Íê ¡ß ¡û Æø¢ (1) ¤Ç¤¤ë Ãí:
¥¡¼¥¹¥È¥¢¤ÎÊÌ̾¥¡¼¥¹¥È¥¢¤Î¤¹¤Ù¤Æ¤Î¥¨¥ó¥È¥ê¤Ï¡¢°ì°Õ¤Î¡ÖÊÌ̾¡×¤ò²ð¤·¤Æ¥¢¥¯¥»¥¹¤µ¤ì¤Þ¤¹¡£ jarsigner ¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤È¤¤Ï¡¢½ð̾¤ÎÀ¸À®¤ËɬÍפÊÈó¸ø³«¸°¤ò ´Þ¤à¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤ÎÊÌ̾¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤ÎÎã¤Ï¡¢ working ¥Ç¥£¥ì¥¯¥È¥ê¤Î mystore ¤È¤¤¤¦Ì¾Á°¤Î¥¡¼¥¹¥È¥¢¤Ë´Þ¤Þ¤ì¤ëÊÌ̾ duke ¤Ë´ØÏ¢ÉÕ¤±¤é¤ì¤¿Èó¸ø³«¸°¤ò»È¤Ã¤Æ¡¢ MyJARFile.jar ¤È¤¤¤¦Ì¾Á°¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£½ÐÎÏ¥Õ¥¡¥¤¥ë¤Ï»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤ ¤Î¤Ç¡¢ MyJARFile.jar ¤Ï½ð̾ÉÕ¤¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤è¤Ã¤Æ¾å½ñ¤¤µ¤ì¤Þ¤¹¡£
example% jarsigner -keystore /working/mystore -storepass myspass -keypass dukekeypasswd MyJARFile.jar duke ¥¡¼¥¹¥È¥¢¤Ï¥Ñ¥¹¥ï¡¼¥É¤ÇÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É (¾å¤ÎÎã¤Ç¤Ï myspass ) ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤Ç¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£Æ±Íͤˡ¢Èó¸ø³«¸°¤â¥¡¼¥¹¥È¥¢Æâ¤Ç¥Ñ¥¹¥ï¡¼¥É¤Ë¤è¤Ã¤ÆÊݸ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É (¾å¤ÎÎã¤Ç¤Ï dukekeypasswd ) ¤ò»ØÄꤹ¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£¥³¥Þ¥ó¥É¹Ô¤ÇÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»ØÄꤷ¤Æ¤ª¤é¤º¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥È¤¬¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤È°ã¤Ã¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢Èó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ÎÆþÎϤòµá¤á¤é¤ì¤Þ¤¹¡£ ¥¡¼¥¹¥È¥¢¤Î¾ì½êjarsigner ¤Ë¤Ï¡¢»ÈÍѤ¹¤ë¥¡¼¥¹¥È¥¢¤Î̾Á°¤È¾ì½ê¤ò»ØÄꤹ¤ë -keystore ¥ª¥×¥·¥ç¥ó¤¬¤¢¤ê¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Î .keystore ¤È¤¤¤¦Ì¾Á°¤Î¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤Þ¤¹¡£¥æ¡¼¥¶¤Î¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥ê¤Ï¡¢ user.home ¥·¥¹¥Æ¥à¥×¥í¥Ñ¥Æ¥£¤Ë¤è¤Ã¤Æ·è¤Þ¤ê¤Þ¤¹¡£ ¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢ java.security ¥Ñ¥Ã¥±¡¼¥¸¤ÇÄ󶡤µ¤ì¤ë KeyStore Ãê¾Ý¥¯¥é¥¹¤Î¸ÇÄê¼ÂÁõ¤Ç¤¹¡£¤³¤Î¥¯¥é¥¹¤Ï¥¡¼¥¹¥È¥¢Æâ¤Î¾ðÊó¤ò¥¢¥¯¥»¥¹¤ª¤è¤Ó Êѹ¹¤Ç¤¤ë¤è¤¦¤ËÄêµÁ¤µ¤ì¤¿¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤òÄ󶡤·¤Þ¤¹¡£ ¸½ºß¡¢¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤â¤Î¤È¤·¤Æ¡¢keytool ¤È jarsigner ¤Î 2 ¤Ä¤Î¥³¥Þ¥ó¥É¹Ô¥Ä¡¼¥ë¤È¡¢ policytool ¤È¤¤¤¦Ì¾Á°¤Î 1 ¤Ä¤Î GUI ¥Ù¡¼¥¹¤Î¥Ä¡¼¥ë¤¬¤¢¤ê¤Þ¤¹¡£ KeyStore ¥¯¥é¥¹¤Ï public ¤È¤·¤Æ»ÈÍѲÄǽ¤Ê¤Î¤Ç¡¢JDK ¥æ¡¼¥¶¤Ï KeyStore ¤ò»È¤Ã¤Æ¤Û¤«¤Î¥»¥¥å¥ê¥Æ¥£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤âºîÀ®¤Ç¤¤Þ¤¹¡£ ¥¡¼¥¹¥È¥¢¤Ë¤Ï¡¢Sun ¤¬Ä󶡤¹¤ëÁȤ߹þ¤ß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¼ÂÁõ¤¬¤¢¤ê¤Þ¤¹¡£¤³¤ì¤Ï¡¢ JKS ¤È¤¤¤¦Ì¾Á°¤ÎÆȼ«¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥× (·Á¼°) ¤òÍøÍѤ¹¤ë¤â¤Î¤Ç¡¢¥¡¼¥¹¥È¥¢¤ò ¥Õ¥¡¥¤¥ë¤È¤·¤Æ¼ÂÁõ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤Î¼ÂÁõ¤Ç¤Ï¡¢¸Ä¡¹¤ÎÈó¸ø³«¸°¤Ï¸ÄÊ̤Υѥ¹¥ï¡¼¥É ¤Ë¤è¤Ã¤ÆÊݸ¤ì¡¢¥¡¼¥¹¥È¥¢Á´ÂΤδ°Á´À¤â (Èó¸ø³«¸°¤È¤ÏÊ̤Î) ¥Ñ¥¹¥ï¡¼¥É¤Ë ¤è¤Ã¤ÆÊݸ¤ì¤Þ¤¹¡£
¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ï¡¢¥×¥í¥Ð¥¤¥À¥Ù¡¼¥¹¤Ç¤¹¡£¶ñÂÎŪ¤Ë¤Ï¡¢ KeyStore ¥¯¥é¥¹¤¬Ä󶡤¹¤ë¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤Ï¡¢Service Provider Interface (SPI) ¤È¤¤¤¦·Á¤Ç¼ÂÁõ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢Âбþ¤¹¤ë KeystoreSpi Ãê¾Ý¥¯¥é¥¹ (¤³¤ì¤â java.security ¥Ñ¥Ã¥±¡¼¥¸¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë) ¤¬¤¢¤ê¡¢¤³¤Î¥¯¥é¥¹¤¬ Service Provider Interface ¤Î ¥á¥½¥Ã¥É¤òÄêµÁ¤·¤Æ¤¤¤Þ¤¹¡£¤³¤ì¤é¤Î¥á¥½¥Ã¥É¤Ï¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤¬¼ÂÁõ¤·¤Ê¤±¤ì¤Ð¤Ê¤ê¤Þ ¤»¤ó¡£¤³¤³¤Ç¡¢¡Ö¥×¥í¥Ð¥¤¥À¡×¤È¤Ï¡¢Java Security API ¤Ë¤è¤Ã¤Æ¥¢¥¯¥»¥¹²Äǽ¤Ê¥µ¡¼¥Ó¥¹ ¤Î¥µ¥Ö¥»¥Ã¥È¤ËÂФ·¡¢¤½¤Î¸ÇÄê¼ÂÁõ¤òÄ󶡤¹¤ë¥Ñ¥Ã¥±¡¼¥¸¤Þ¤¿¤Ï¥Ñ¥Ã¥±¡¼¥¸¤Î½¸¹ç¤Î ¤³¤È¤Ç¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤¹¤ë¤Ë¤Ï¡¢¡ÖJava °Å¹æ²½¥¢¡¼¥¥Æ¥¯ ¥Á¥ãÍÑ¥×¥í¥Ð¥¤¥À¤Î¼ÂÁõÊýË¡¡×¤Î¥Ú¡¼¥¸¤ÇÀâÌÀ¤·¤Æ¤¤¤ë¤è¤¦¤Ë¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥×¥í¥Ð¥¤¥À¤ò¼ÂÁõ¤·¡¢ KeystoreSpi ¥µ¥Ö¥¯¥é¥¹¤Î¼ÂÁõ¤òÄ󶡤¹¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¡¢ KeyStore ¥¯¥é¥¹¤¬Ä󶡤¹¤ë getInstance ¥Õ¥¡¥¯¥È¥ê¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç¡¢¤µ¤Þ¤¶¤Þ¤Ê¥×¥í¥Ð¥¤¥À¤«¤é°Û¤Ê¤ë¡Ö¥¿¥¤¥×¡×¤Î¥¡¼¥¹¥È¥¢¤Î ¼ÂÁõ¤òÁªÂò¤Ç¤¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Ï¡¢¥¡¼¥¹¥È¥¢¾ðÊó¤Î³ÊǼ·Á¼°¤È¥Ç¡¼¥¿·Á¼°¡¢ ¤ª¤è¤Ó¥¡¼¥¹¥È¥¢Æâ¤ÎÈó¸ø³«¸°¤È¥¡¼¥¹¥È¥¢¼«ÂΤδ°Á´À¤òÊݸ¤ë¤¿¤á¤Ë»È¤ï¤ì¤ë ¥¢¥ë¥´¥ê¥º¥à¤òÄêµÁ¤·¤Þ¤¹¡£°Û¤Ê¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤Ë¤Ï¡¢¸ß¤¤¤Ë¸ß´¹À¤Ï ¤¢¤ê¤Þ¤»¤ó¡£keytool¡¢jarsigner¡¢¤ª¤è¤Ó policytool ¤Î³Æ¥Ä¡¼¥ë¤Ï¡¢ KeyStore ¤¬Ä󶡤¹¤ë¶¦Ä̤Υ¢¥×¥ê¥±¡¼¥·¥ç¥ó¥¤¥ó¥¿¥Õ¥§¡¼¥¹¤À¤±¤ò»È¤Ã¤Æ¤¤¤ë¤Î¤Ç¡¢Ç¤°Õ¤Î ¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Ç»ÈÍѤǤ¤Þ¤¹¡£ keytool ¤Ï¡¢¥Õ¥¡¥¤¥ë¥Ù¡¼¥¹¤Î¥¡¼¥¹¥È¥¢¼ÂÁõ¤ËÂФ·¤Æµ¡Ç½¤·¤Þ¤¹¡£ keytool ¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤ÇÅϤµ¤ì¤¿¥¡¼¥¹¥È¥¢¤Î°ÌÃÖ¤ò¥Õ¥¡¥¤¥ë̾¤È¤·¤Æ°·¤¤¡¢ FileInputStream ¤ËÊÑ´¹¤·¤Æ¡¢¤½¤³¤«¤é¥¡¼¥¹¥È¥¢¾ðÊó¤ò¥í¡¼¥É¤·¤Þ¤¹¡£°ìÊý¡¢ jarsigner ¥Ä¡¼¥ë¤ª¤è¤Ó policytool ¥Ä¡¼¥ë¤Ï¡¢URL ¤ò»È¤Ã¤Æ»ØÄꤹ¤ë¤³¤È¤¬²Äǽ¤ÊǤ°Õ¤Î°ÌÃ֤ˤ¢¤ë¥¡¼¥¹¥È¥¢¤ò Æɤ߼è¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£ jarsigner ¤È keytool ¤Î¾ì¹ç¡¢ -storetype ¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤Æ¥³¥Þ¥ó¥É¹Ô¤Ç¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£ policytool ¤Î¾ì¹ç¤Ï¡¢[Edit] ¥á¥Ë¥å¡¼¤Î [Change Keystore] ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¥¡¼¥¹¥È¥¢¤Î ¥¿¥¤¥×¤ò»ØÄê¤Ç¤¤Þ¤¹¡£ ¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤òÌÀ¼¨Åª¤Ë»ØÄꤷ¤Ê¤¤¾ì¹ç¡¢ keytool ¡¢ jarsigner ¡¢¤ª¤è¤Ó policytool ¤Î³Æ¥Ä¡¼¥ë¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Ç»ØÄê ¤µ¤ì¤¿ keystore.type ¥×¥í¥Ñ¥Æ¥£¤ÎÃͤ˴ð¤Å¤¤¤Æ¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÁªÂò¤·¤Þ¤¹¡£¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡ ¥¤¥ë¤Ï¡¢ java.security ¤È¤¤¤¦Ì¾Á°¤Ç¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Ç¥£¥ì¥¯¥È¥ê java.home/lib/security ¤ËÃÖ¤«¤ì¤Æ¤¤¤Þ¤¹¡£ java.home ¤Ï¡¢JDK ¤Î¼Â¹Ô´Ä¶¥Ç¥£¥ì¥¯¥È¥ê¤Ç¤¹¡£(SDK Æâ¤Î jre ¥Ç¥£¥ì¥¯¥È¥ê ¤Þ¤¿¤Ï Java 2 Runtime Environment ¤Î¥È¥Ã¥×¥ì¥Ù¥ë¤Î¥Ç¥£¥ì¥¯¥È¥ê)¡£ ³Æ¥Ä¡¼¥ë¤Ï¡¢ keystore.type ¤ÎÃͤò¼èÆÀ¤·¡¢¤³¤ÎÃͤǻØÄꤵ¤ì¤¿¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤ò¼ÂÁõ¤·¤Æ¤¤¤ë¥×¥í¥Ð¥¤¥À¤¬ ¸«¤Ä¤«¤ë¤Þ¤Ç¡¢¸½ºß¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤¹¤Ù¤Æ¤Î¥×¥í¥Ð¥¤¥À¤òÄ´¤Ù¤Þ¤¹¡£ÌÜŪ¤Î ¥×¥í¥Ð¥¤¥À¤¬¸«¤Ä¤«¤ë¤È¡¢¤½¤Î¥×¥í¥Ð¥¤¥À¤«¤é¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»È¤¤¤Þ¤¹¡£ KeyStore ¥¯¥é¥¹¤Ç¤Ï getDefaultType ¤È¤¤¤¦Ì¾Á°¤Î static ¥á¥½¥Ã¥É¤¬ÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤È¥¢¥×¥ì¥Ã¥È¤Ï¤³¤Î ¥á¥½¥Ã¥É¤ò»È¤¦¤³¤È¤Ç keystore.type ¥×¥í¥Ñ¥Æ¥£¤ÎÃͤò¼èÆÀ¤Ç¤¤Þ¤¹¡£¼¡¤Î¥³¡¼¥É¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥× ( keystore.type ¥×¥í¥Ñ¥Æ¥£¤Ç»ØÄꤵ¤ì¤¿¥¿¥¤¥×) ¤Î¥¤¥ó¥¹¥¿¥ó¥¹¤òÀ¸À®¤·¤Þ¤¹¡£ KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType()); ¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢¥¿¥¤¥×¤Ï jks (Sun ¤¬Ä󶡤¹¤ëÆȼ«¤Î¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î ¼ÂÁõ) ¤Ç¤¹¡£¤³¤ì¤Ï¡¢¥»¥¥å¥ê¥Æ¥£¥×¥í¥Ñ¥Æ¥£¥Õ¥¡¥¤¥ëÆâ¤Î¼¡¤Î¹Ô¤Ë¤è¤Ã¤Æ»ØÄꤵ¤ì¤Æ ¤¤¤Þ¤¹¡£ keystore.type=jks ³Æ¥Ä¡¼¥ë¤Ç¥Ç¥Õ¥©¥ë¥È°Ê³°¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤òÊѹ¹¤·¤Æ Ê̤Υ¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤ò»ØÄꤷ¤Þ¤¹¡£ ¤¿¤È¤¨¤Ð¡¢pkcs12 ¤È¸Æ¤Ð¤ì¤ë¥¿¥¤¥×¤Î¥¡¼¥¹¥È¥¢¤Î¼ÂÁõ¤òÄ󶡤·¤Æ¤¤¤ë ¥×¥í¥Ð¥¤¥À¥Ñ¥Ã¥±¡¼¥¸¤ò»ÈÍѤ¹¤ë¤Ë¤Ï¡¢¾å¤Î¹Ô¤ò¼¡¤Î¤è¤¦¤ËÊѹ¹¤·¤Þ¤¹¡£ keystore.type=pkcs12 Ãí: ¥¡¼¥¹¥È¥¢¤Î¥¿¥¤¥×¤Î»ØÄê¤Ç¤Ï¡¢Âçʸ»ú¤È¾®Ê¸»ú¤Ï¶èÊ̤µ¤ì¤Þ¤»¤ó¡£¤¿¤È¤¨¤Ð¡¢ JKS ¤È jks ¤ÏƱ¤¸¤â¤Î¤È¤·¤Æ°·¤ï¤ì¤Þ¤¹¡£ ¥µ¥Ý¡¼¥È¤µ¤ì¤ë¥¢¥ë¥´¥ê¥º¥à¤È¥¡¼¥µ¥¤¥º¸½»þÅÀ¤Ç¤Ï¡¢ jarsigner ¤Ï¼¡¤Î¤É¤Á¤é¤«¤Î¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
¶ñÂÎŪ¤Ë¤Ï¡¢½ð̾¼Ô¤Î¸ø³«¸°¤ÈÈó¸ø³«¸°¤¬ DSA ¸°¤Ç¤¢¤ë¾ì¹ç¡¢ jarsigner ¤Ï SHA-1/DSA ¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤è¤¦¤È¤·¤Þ¤¹¡£½ð̾¼Ô¤Î ¸°¤¬ RSA ¸°¤Ç¤¢¤ë¾ì¹ç¡¢ jarsigner ¤Ï MD5/RSA ¥¢¥ë¥´¥ê¥º¥à¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Þ¤¹¡£¤¿¤À¤·¡¢ MD5/RSA ¥¢¥ë¥´¥ê¥º¥à¤ò»ÈÍѤǤ¤ë¤Î¤Ï¡¢MD5/RSA ¥¢¥ë¥´¥ê¥º¥à¤Î¼ÂÁõ¤ò Ä󶡤¹¤ë¡¢ÀÅŪ¤Ë¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤¿¥×¥í¥Ð¥¤¥À¤¬Â¸ºß¤¹¤ë¾ì¹ç¤À¤±¤Ç¤¹¡£ ¥Ç¥Õ¥©¥ë¥È¤Î SUN ¥×¥í¥Ð¥¤¥À¤«¤é¤Î SHA-1/DSA ¥¢¥ë¥´¥ê¥º¥à¤Ï¾ï¤Ë»ÈÍѤǤ¤Þ¤¹¡£
½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ëjarsigner ¤ò»È¤Ã¤Æ JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤¿¾ì¹ç¡¢½ÐÎϤµ¤ì¤ë½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ï ÆþÎÏ JAR ¥Õ¥¡¥¤¥ë¤ÈƱ¤¸¤Ç¤¹¤¬¡¢¼¡¤Î 2 ¤Ä¤ÎÄɲåե¡¥¤¥ë¤¬ META-INF ¥Ç¥£¥ì¥¯¥È¥ê¤ËÃÖ¤«¤ì¤ëÅÀ¤¬°Û¤Ê¤ê¤Þ¤¹¡£
¤³¤ì¤é 2 ¤Ä¤Î¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢ -sigFile ¥ª¥×¥·¥ç¥ó¤ÎÃͤ«¤éºîÀ®¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¤È¤·¤Þ¤¹¡£ -sigFile MKSIGN ¤³¤Î¾ì¹ç¡¢¥Õ¥¡¥¤¥ë̾¤Ï¤½¤ì¤¾¤ì MKSIGN.SF ¤È MKSIGN.DSA ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥³¥Þ¥ó¥É¹Ô¤Ë -sigfile ¥ª¥×¥·¥ç¥ó¤Î»ØÄ꤬¤Ê¤¤¾ì¹ç¡¢ .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤Î¥Ù¡¼¥¹¥Õ¥¡¥¤¥ë̾¤Ï¡¢¥³¥Þ¥ó¥É¹Ô¤Ç»ØÄꤵ¤ì¤¿ÊÌ̾¤ÎÀèƬ¤Î 8 ʸ»ú¤ò ¤¹¤Ù¤ÆÂçʸ»ú¤ËÊÑ´¹¤·¤¿¤â¤Î¤Ë¤Ê¤ê¤Þ¤¹¡£ÊÌ̾¤¬ 8 ʸ»ṳ́Ëþ¤Î¾ì¹ç¤Ï¡¢ÊÌ̾¤¬ ¤½¤Î¤Þ¤Þ»È¤ï¤ì¤Þ¤¹¡£ÊÌ̾¤ÎÃæ¤Ë¡¢½ð̾¥Õ¥¡¥¤¥ë̾¤Ë»ÈÍѤǤ¤Ê¤¤Ê¸»ú¤¬´Þ¤Þ¤ì ¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢³ºÅö¤¹¤ëʸ»ú¤ò²¼Àþ (_) ¤ËÃÖ¤´¹¤¨¤Æ¥Õ¥¡¥¤¥ë̾¤¬ºîÀ®¤µ¤ì¤Þ¤¹¡£ »ÈÍѤǤ¤ëʸ»ú¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È¡¢¿ô»ú¡¢²¼Àþ (_)¡¢¥Ï¥¤¥Õ¥ó¤Ç¤¹¡£ ½ð̾ (.SF) ¥Õ¥¡¥¤¥ë ½ð̾¥Õ¥¡¥¤¥ë ( .SF ¥Õ¥¡¥¤¥ë) ¤Ï¡¢ jar ¥Ä¡¼¥ë¤ÇÀ¸À®¤µ¤ì¤¿ JAR ¥Õ¥¡¥¤¥ë¤Ë¾ï¤Ë´Þ¤Þ¤ì¤ë¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤È»÷¤Æ¤¤¤Þ¤¹¡£¤Ä¤Þ¤ê¡¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëƱÍÍ¡¢ .SF ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤´¤È¤Ë¡¢¼¡¤Î 3 ¤Ä¤Î¹Ô¤¬¤¢¤ê¤Þ¤¹¡£
¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢SHA ¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿ ¤Î¥À¥¤¥¸¥§¥¹¥È (¥Ï¥Ã¥·¥å) ¤Ç¤¹¡£°ìÊý¡¢ .SF ¥Õ¥¡¥¤¥ë¤Ç¤Ï¡¢¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤Î¥À¥¤¥¸¥§¥¹¥È¤ÎÃͤϡ¢¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÃæ¤Î³ºÅö¤¹¤ë ¥½¡¼¥¹¥Õ¥¡¥¤¥ë¤ËÂбþ¤¹¤ë 3 ¹Ô¤Î¥Ï¥Ã¥·¥å¤Ç¤¹¡£ ½ð̾¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥Ç¥Õ¥©¥ë¥È¤Ç¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ëÁ´ÂΤΥϥå·¥å¤â´Þ¤Þ¤ì¤Æ¤¤¤Þ¤¹¡£ ¸å½Ò¤Î¡ÖJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¡×¤ÇÀâÌÀ¤¹¤ë¤è¤¦¤Ë¡¢¤³¤Î¥Ø¥Ã¥À¤Î¸ºß¤Ë¤è¤Ã¤Æ¸¡¾Ú¤Î ºÇŬ²½¤¬²Äǽ¤Ë¤Ê¤Ã¤Æ¤¤¤Þ¤¹¡£ ½ð̾¥Ö¥í¥Ã¥¯ (.DSA) ¥Õ¥¡¥¤¥ë .SF ¥Õ¥¡¥¤¥ë¤Ë¤Ï½ð̾¤¬ÉÕ¤±¤é¤ì¡¢½ð̾¤Ï .DSA ¥Õ¥¡¥¤¥ë¤ËÃÖ¤«¤ì¤Þ¤¹¡£ .DSA ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¥¡¼¥¹¥È¥¢¤«¤é¤Î¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤âÉä¹æ²½¤µ¤ì¤¿·Á¤Ç´Þ¤Þ¤ì¤Æ ¤¤¤Þ¤¹¡£¾ÚÌÀ½ñ¤Þ¤¿¤Ï¾ÚÌÀÏ¢º¿¤Ï¡¢½ð̾¤Ë»È¤ï¤ì¤¿Èó¸ø³«¸°¤ËÂбþ¤¹¤ë¸ø³«¸°¤ò ǧ¾Ú¤·¤Þ¤¹¡£ JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾ÚJAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤¬À®¸ù¤¹¤ë¤Î¤Ï¡¢½ð̾¤¬Í¸ú¤Ç¤¢¤ê¡¢¤«¤Ä½ð̾¤ÎÀ¸À®°Ê¸å¤Ë JAR ¥Õ¥¡¥¤¥ëÆâ¤Î¤É¤Î¥Õ¥¡¥¤¥ë¤âÊѹ¹¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¤Ç¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¤Ï¡¢¼¡¤Î¼ê½ç¤Ç¹Ô¤ï¤ì¤Þ¤¹¡£
¸¡¾Ú¥×¥í¥»¥¹¤ÎÅÓÃæ¤Ç¤Ê¤ó¤é¤«¤Î½ÅÂç¤Ê¸¡¾Ú¥¨¥é¡¼¤¬È¯À¸¤·¤¿¾ì¹ç¡¢¸¡¾Ú¥×¥í¥»¥¹ ¤ÏÃæ»ß¤µ¤ì¡¢¥»¥¥å¥ê¥Æ¥£Îã³°¤¬¥¹¥í¡¼¤µ¤ì¤Þ¤¹¡£¥¹¥í¡¼¤µ¤ì¤¿¥»¥¥å¥ê¥Æ¥£Îã³°¤Ï¡¢ jarsigner ¤¬¥¥ã¥Ã¥Á¤·¤Æɽ¼¨¤·¤Þ¤¹¡£ 1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤òÂоݤȤ¹¤ëÊ£¿ô¤Î½ð̾1 ¤Ä¤Î JAR ¥Õ¥¡¥¤¥ë¤ËÂФ·¤Æ jarsigner ¥Ä¡¼¥ë¤òÊ£¿ô²ó¼Â¹Ô¤·¡¢¼Â¹Ô¤Î¤¿¤Ó¤Ë¡¢°Û¤Ê¤ë¥æ¡¼¥¶¤ÎÊÌ̾¤ò»ØÄꤹ¤ì¤Ð¡¢JAR ¥Õ¥¡¥¤¥ë¤ËÊ£¿ô¤Î¥æ¡¼¥¶¤Î½ð̾¤òÉÕ¤±¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë¤·¤Þ¤¹¡£
example% jarsigner myBundle.jar susan example% jarsigner myBundle.jar kevin JAR ¥Õ¥¡¥¤¥ë¤¬Ê£¿ô²ó½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¤½¤Î JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤ÎÂФ¬Ê£¿ô´Þ¤Þ¤ì¤ë¤³¤È¤Ë¤Ê¤ê¤Þ¤¹¡£ .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤ÎÂФϡ¢1 ²ó¤Î½ð̾¤ËÂФ·¤Æ 1 ¤ÄºîÀ®¤µ¤ì¤Þ¤¹¡£¤·¤¿¤¬¤Ã¤Æ¡¢¾å¤ÎÎã¤Ç½ÐÎÏ ¤µ¤ì¤ë JAR ¥Õ¥¡¥¤¥ë¤Ë¤Ï¡¢¼¡¤Î̾Á°¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¤¬´Þ¤Þ¤ì¤Þ¤¹¡£
SUSAN.SF SUSAN.DSA KEVIN.SF KEVIN.DSA ¥ª¥×¥·¥ç¥ó°Ê²¼¤Ç¤Ï¡¢ jarsigner ¤Î¥ª¥×¥·¥ç¥ó¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤Þ¤¹¡£¥ª¥×¥·¥ç¥ó¤ò»ØÄꤹ¤ë¤È¤¤Ï¡¢¼¡¤ÎÅÀ¤ËÃí°Õ ¤·¤Æ¤¯¤À¤µ¤¤¡£
ÎãJAR ¥Õ¥¡¥¤¥ë¤Î½ð̾bundle.jar ¤È¤¤¤¦Ì¾Á°¤Î JAR ¥Õ¥¡¥¤¥ë¤¬¤¢¤ê¡¢¤³¤Î¥Õ¥¡¥¤¥ë¤Ë¡¢¥¡¼¥¹¥È¥¢¤ÎÊÌ̾¤¬ jane ¤Ç¤¢¤ë¥æ¡¼¥¶¤ÎÈó¸ø³«¸°¤ò»È¤Ã¤Æ¡¢½ð̾¤òÉÕ¤±¤ë¤È¤·¤Þ¤¹¡£¥¡¼¥¹¥È¥¢¤Ï¡¢mystore ¤È¤¤¤¦Ì¾Á°¤Ç working ¥Ç¥£¥ì¥¯¥È¥ê¤Ë¤¢¤ê¡¢¥¡¼¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï mypass¡¢jane ¤ÎÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï j638klm ¤È¤·¤Þ¤¹¡£¤³¤Î¾ì¹ç¡¢¼¡¤Î¥³¥Þ¥ó¥É¤ò¼Â¹Ô¤¹¤ë¤È¡¢JAR ¥Õ¥¡¥¤¥ë¤Ë½ð̾¤òÉÕ¤±¤Æ sbundle.jar ¤È¤¤¤¦½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤òºîÀ®¤Ç¤¤Þ¤¹¡£
example% jarsigner -keystore "/working/mystore" -storepass myspass -keypass j638klm -signedjar sbundle.jar bundle.jar jane ¾å¤Î¥³¥Þ¥ó¥É¤Ç¤Ï -sigfile ¥ª¥×¥·¥ç¥ó¤¬»ØÄꤵ¤ì¤Æ¤¤¤Ê¤¤¤Î¤Ç¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Ë³ÊǼ¤µ¤ì¤ë .SF ¥Õ¥¡¥¤¥ë¤È .DSA ¥Õ¥¡¥¤¥ë¤Î̾Á°¤Ï¡¢ÊÌ̾¤Ë´ð¤Å¤¯¥Ç¥Õ¥©¥ë¥È¤Î̾Á°¤Ë¤Ê¤ê¡¢¤½¤ì¤¾¤ì JANE.SF ¤È JANE.DSA ¤Ë¤Ê¤ê¤Þ¤¹¡£ ¥¹¥È¥¢¤Î¥Ñ¥¹¥ï¡¼¥É¤ÈÈó¸ø³«¸°¤Î¥Ñ¥¹¥ï¡¼¥É¤ò¤¢¤È¤ÇÆþÎϤ¹¤ë¾ì¹ç¤Ï¡¢ ¾å¤Î¥³¥Þ¥ó¥É¤òû½Ì¤·¤Æ¼¡¤Î¤è¤¦¤ËÆþÎϤǤ¤Þ¤¹¡£
example% jarsigner -keystore /working/mystore -signedjar sbundle.jar bundle.jar jane ¥Ç¥Õ¥©¥ë¥È¤Î¥¡¼¥¹¥È¥¢ (¥Û¡¼¥à¥Ç¥£¥ì¥¯¥È¥êÆâ¤Î .keystore ¤È¤¤¤¦Ì¾Á°¤Î¥¡¼¥¹¥È¥¢) ¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¼¡¤Ë¼¨¤¹¤è¤¦¤Ë¡¢¥¡¼¥¹¥È¥¢¤Î»ØÄê¤ò ¾Êά¤Ç¤¤Þ¤¹¡£
example% jarsigner -signedjar sbundle.jar bundle.jar jane ¤Þ¤¿¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤ÇÆþÎÏ JAR ¥Õ¥¡¥¤¥ë (bundle.jar) ¤ò¾å½ñ¤¤¹¤ë¾ì¹ç¤Ï¡¢ -signedjar ¥ª¥×¥·¥ç¥ó¤Î»ØÄê¤â¾Êά¤Ç¤¤Þ¤¹¡£
example% jarsigner bundle.jar jane ½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢½ð̾ÉÕ¤ JAR ¥Õ¥¡¥¤¥ë¤ò¸¡¾Ú¤·¡¢½ð̾¤¬Í¸ú¤Ç JAR ¥Õ¥¡¥¤¥ë¤¬ ²þÊѤµ¤ì¤Æ¤¤¤Ê¤¤¤³¤È¤ò³Îǧ¤¹¤ë¤¿¤á¤Î¥³¥Þ¥ó¥ÉÎã¤Ç¤¹¡£
example% jarsigner -verify sbundle.jar ¸¡¾Ú¤¬À®¸ù¤¹¤ë¤È¡¢¼¡¤Î¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£
jar verified. ¸¡¾Ú¤¬À®¸ù¤·¤Ê¤«¤Ã¤¿¾ì¹ç¤Ï¡¢¥¨¥é¡¼¥á¥Ã¥»¡¼¥¸¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -verbose ¥ª¥×¥·¥ç¥ó¤ò»È¤¦¤È¡¢¤è¤ê¿¤¯¤Î¾ðÊó¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¼¡¤Ë¼¨¤¹¤Î¤Ï¡¢ -verbose ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿ jarsigner ¤Î¼Â¹ÔÎã¤È¤½¤Î½ÐÎÏ·ë²Ì¤Ç¤¹¡£
example% jarsigner -verify -verbose sbundle.jar 198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF 199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF 1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA smk 2752 Fri Sep 26 16:12:30 PDT 1997 AclEx.class smk 849 Fri Sep 26 16:12:46 PDT 1997 test.class s = signature was verified m = entry is listed in manifest k = at least one certificate was found in keystore jar verified. ¾ÚÌÀ½ñ¾ðÊó¤ò»È¤Ã¤¿¸¡¾Ú¸¡¾Ú»þ¤Ë¡¢ -verify ¤È -verbose ¥ª¥×¥·¥ç¥ó¤Ë²Ã¤¨¤Æ -certs ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¤Ï¡¢JAR ¥Õ¥¡¥¤¥ëÆâ¤Î³Æ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¾ðÊó¤â½ÐÎϤµ¤ì¤Þ ¤¹¡£¤³¤ì¤Ë¤Ï¡¢¾ÚÌÀ½ñ¤Î¥¿¥¤¥×¡¢½ð̾¼Ô¤Î¼±ÊÌ̾¾ðÊó (X.509 ¾ÚÌÀ½ñ¤Î¾ì¹ç)¡¢¤ª¤è¤Ó¡¢ JAR ¥Õ¥¡¥¤¥ë¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤¬¥¡¼¥¹¥È¥¢¥¨¥ó¥È¥ê¤Î¸ø³«¸°¤Î¾ÚÌÀ½ñ¤È°ìÃפ¹¤ë¾ì¹ç ¤Ë¤Ï¡¢³ç¸Ì¤Ç°Ï¤Þ¤ì¤¿½ð̾¼Ô¤Î¥¡¼¥¹¥È¥¢ÊÌ̾¤¬´Þ¤Þ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë ½ÐÎϤµ¤ì¤Þ¤¹¡£
example% jarsigner -keystore /working/mystore -verify -verbose -certs myTest.jar 198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF 199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF 1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA 208 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.SF 1087 Fri Sep 26 16:23:30 PDT 1997 META-INF/JAVATEST.DSA smk 2752 Fri Sep 26 16:12:30 PDT 1997 Tst.class X.509, CN=Test Group, OU=Java Software, O=Sun Microsystems, L=CUP, S=CA, C=US (javatest) X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) s = signature was verified m = entry is listed in manifest k = at least one certificate was found in keystore jar verified. ½ð̾¼Ô¤Î¾ÚÌÀ½ñ¤¬ X.509 ¾ÚÌÀ½ñ¤Ç¤Ê¤¤¾ì¹ç¤Ï¡¢¼±ÊÌ̾¾ðÊó¤Ïɽ¼¨¤µ¤ì¤º¡¢¾ÚÌÀ½ñ¤Î ¥¿¥¤¥×¤ÈÊÌ̾¤À¤±¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¾ÚÌÀ½ñ¤¬ PGP ¾ÚÌÀ½ñ¤Ç¡¢ÊÌ̾¤¬ bob ¤Î ¾ì¹ç¤Ï¡¢¼¡¤Î¤è¤¦¤Ëɽ¼¨¤µ¤ì¤Þ¤¹¡£
PGP, (bob) JAR ¥Õ¥¡¥¤¥ë¤Î¸¡¾Ú¼¡¤Î¸¡¾Ú¤ÎÎã¤Ç¤Ï¡¢¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤Î½ð̾¼Ô¤ò´Þ¤àJAR ¥Õ¥¡¥¤¥ë¤Î ¸¡¾Ú¤ò¹Ô¤¤¤Þ¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤¬¡¢JDK 1.1 ¤Î javakey ¥Ä¡¼¥ë¤ò»È¤Ã¤Æ½ð̾¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢½ð̾¼Ô¤Ï¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤Î ÊÌ̾¤Ç¤¹¡£¤³¤Î¾ì¹ç¡¢¸¡¾Ú¤Î½ÐÎÏ¤Ë¤Ï i ¤È¤¤¤¦µ¹æ¤¬´Þ¤Þ¤ì¤Þ¤¹¡£JAR ¥Õ¥¡¥¤¥ë¤¬¡¢ ¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤È¥¡¼¥¹¥È¥¢Æâ¤ÎÊÌ̾¤ÎξÊý¤Ë¤è¤Ã¤Æ½ð̾ ¤µ¤ì¤Æ¤¤¤ë¾ì¹ç¤Ï¡¢k ¤È i ¤ÎξÊý¤¬É½¼¨¤µ¤ì¤Þ¤¹¡£ -certs ¥ª¥×¥·¥ç¥ó¤ò»ØÄꤷ¤¿¾ì¹ç¡¢¥¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ï³ç¸Ì¤Ç°Ï¤Þ¤ì¤ë¤Î¤ËÂФ·¡¢¥¢¥¤¥Ç¥ó¥Æ¥£ ¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹Æâ¤ÎÊÌ̾¤Ï³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æɽ¼¨¤µ¤ì¤Þ¤¹¡£¤¿¤È¤¨¤Ð¡¢¼¡¤Î¤è¤¦¤Ë ɽ¼¨¤µ¤ì¤Þ¤¹¡£
example% jarsigner -keystore /working/mystore -verify -verbose -certs writeFile.jar 198 Fri Sep 26 16:14:06 PDT 1997 META-INF/MANIFEST.MF 199 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.SF 1013 Fri Sep 26 16:22:10 PDT 1997 META-INF/JANE.DSA 199 Fri Sep 27 12:22:30 PDT 1997 META-INF/DUKE.SF 1013 Fri Sep 27 12:22:30 PDT 1997 META-INF/DUKE.DSA smki 2752 Fri Sep 26 16:12:30 PDT 1997 writeFile.html X.509, CN=Jane Smith, OU=Java Software, O=Sun, L=cup, S=ca, C=us (jane) X.509, CN=Duke, OU=Java Software, O=Sun, L=cup, S=ca, C=us [duke] s = signature was verified m = entry is listed in manifest k = at least one certificate was found in keystore i = at least one certificate was found in identity scope jar verified. ÊÌ̾ duke ¤Ï³Ñ³ç¸Ì¤Ç°Ï¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ÎÊÌ̾¤Ï¥¡¼¥¹¥È¥¢¤ÎÊÌ̾¤Ç¤Ï¤Ê¤¯¡¢ ¥¢¥¤¥Ç¥ó¥Æ¥£¥Æ¥£¥Ç¡¼¥¿¥Ù¡¼¥¹¤ÎÊÌ̾¤Ç¤¹¡£ ´ØÏ¢¹àÌÜjar(1)¡¢ keytool(1)
IndexThis document was created by man2html, using the manual pages. Time: 15:24:39 GMT, March 29, 2024 |