![]() | Documentation Contents |
Java ARchive (JAR) ???????????????????????????????????????????????? JAR ??????????????????????????????????????????
jarsigner [ options ] jar-file alias jarsigner -verify [ options ] jar-file
jarsigner ????????????????????? 2 ?????????????????????????????????
- Java ARchive (JAR) ?????????????????????????????????
- ???????????? JAR ????????????????????????????????????????????????
JAR ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????jar ??????????????????????????????????????? JAR ???????????????????????????????????????????????????????????????????????????????????? ZIP ??????????????? JAR ???????????????????????????????????????????????? ????????????jar ??????????????????????????? JAR ???????????????????????? jarsigner ??????????????????????????? JAR ?????????????????????META-INF/MANIFEST.MF ???????????????????????????????????????
?????????????????????????????????????????????????????? (???????????????????????????????????????) ??????????????????????????? (??????????????????) ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
- ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
- ????????????????????????????????????????????????????????????????????????????????????????????????
- ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
- ???????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????? 1 ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
jarsigner ??????????????????????????????????????????????????????????????????????????????JAR ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? X.509 ????????????????????????????????????????????????????????????????????????????????????????????????????????????keytool ??????????????????????????????????????????
jarsigner ????????????????????????????????????????????????????????????????????????????????????????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? jarsigner ?????????????????? JAR ?????????????????????????????????????????????????????? (?????????????????????????????????) ??????????????????????????????????????????????????????????????????????????????
5.0 ???????????????jarsigner ????????????????????????????????????????????????????????????????????????????????????????????? (Java Plug-in ?????????) ???JAR ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????5.0 ?????????????????? API ????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????jarsigner ???????????????????????????JDK ??? jar ??????????????????????????? JAR ???????????????????????? ZIP ???????????????????????????JAR ??????????????? ZIP ?????????????????????????????????JAR ?????????????????? META-INF/MANIFEST.MF ?????????????????????????????????????????????????????????META-INF/MANIFEST.MF ??????????????????jarsigner ??? ZIP ???????????????????????????????????????????????????????????????????????????
????????????????????????jarsigner ??? JAR (????????? ZIP) ????????????????????????????????????????????????????????? JAR ?????????????????????????????????????????????
-verify????????????????????????????????????
keytool ???????????? jarsigner ???????????????JDK 1.1 ???????????????????????? javakey ???????????????????????????????????????????????????????????????????????????????????? javakey ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????javakey ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????JDK 1.1 ??? javakey ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
- keytool ???
-identitydb????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????- jarsigner ??????????????? javakey ??????????????????????????? JAR ?????????????????????????????????????????????????????????
- jarsigner ??????javakey??????????????????????????? JAR ??????????????????????????????????????????????????????jarsigner ??????Java 2 SDK ?????????????????????????????? JDK 1.1 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????JDK 1.1.x ?????????????????? JAR ??????????????????Java 2 ?????????????????????????????????????????????????????????????????????????????????
JAR ????????????????????????
1.1 ???????????????????????????????????????????????????
1.1 ???????????????????????? Java 2 Platform ???????????????????????????????????????????????????????????????????????????????????? (4)
??????????????????????????????????????????????????????/???????????????????????????
?????????????????????
???????????? JAR
??????
??????
??????
???????????????????????????????????????????????????????????????
??????????????? JAR
??????
??????
??????
???????????????????????????????????????????????????????????????
???????????? JAR
??????
??????
??????
???????????????????????????????????????????????????????????????
???????????? JAR
??????/??????????????????
??????
??????
??????????????????????????????????????????????????????????????? (3)
???????????? JAR
??????/??????????????????
??????
??????
??????????????????????????????????????????????????????????????? (1,3)
???????????? JAR
??????
??????
??????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????? JAR
??????/???????????????
??????
??????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (2)
???????????? JAR
??????/???????????????
??????
??????
??????????????????
???????????? JAR
??????/???????????????
??????
??????
?????????????????? (1)
???????????? JAR
??????/???????????????
??????
??????
?????????????????? (1)
??? -
- ?????????????????????????????????????????????????????????/??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
- ????????????????????????/??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
- Java 2 ??????????????????????????????????????????????????????????????????????????????????????????????????????
- Java 2 SDK ????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????
jarsigner ???????????? JAR ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????working ????????????????????? mystore ?????????????????????????????????????????????????????? duke ???????????????????????????????????????????????????MyJARFile.jar ?????????????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????????MyJARFile.jar ?????????????????? JAR ????????????????????????????????????????????????
jarsigner -keystore /working/mystore -storepass myspass -keypass dukekeypasswd MyJARFile.jar duke????????????????????????????????????????????????????????????????????????????????????????????? (??????????????? mypass) ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (??????????????? dukekeypasswd) ??????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????
jarsigner ??????????????????????????????????????? URL ???????????????
-keystore????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????.keystore?????????????????????????????????????????????????????? ????????????????????????????????????????????????user.home????????????????????????????????????????????????????????????Solaris ????????????????????????user.home???????????????????????????????????????????????????????????????????????????????????????
-keystore???????????????????????????????????????????????????KeyStore.load?????????????????????????????????URL ?????????NONE????????????????????????????????????null ?????????????????????KeyStore.load?????????????????????????????????NONE??????KeyStore????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
java.security?????????????????????????????????KeyStore?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????keytool ??? jarsigner ??? 2 ????????????????????????????????????Policy Tool ?????????????????? 1 ?????? GUI ???????????????????????????????????????
KeyStore??? public ?????????????????????????????????Java 2 SDK ??????????????? KeyStore ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????Sun ????????????????????????????????????????????????????????????????????????????????????JKS ??????????????????????????????????????????????????? (??????) ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (????????????????????????) ????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????
KeyStore??????????????????????????????????????????????????????????????????Service Provider Interface (SPI) ??????????????????????????????????????????????????????????????????KeystoreSpi??????????????? (?????????java.security????????????????????????????????????) ?????????????????????????????? Service Provider Interface ?????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Java Security API ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Java ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????KeystoreSpi ????????????????????????????????????????????????????????????????????????????????????????????????
KeyStore???????????????????????? getInstance ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????keytool ?????????????????????????????????????????????????????????????????????????????????keytool ???????????????????????????????????????????????????????????????????????????????????????????????????????????? FileInputStream ??????????????????FileInputStream ???????????????????????????????????????????????????????????????jarsigner ???????????? policytool ???????????????URL ?????????????????????????????????????????????????????????????????????????????????????????????
jarsigner ??? keytool ????????????-storetype ????????????????????????????????????????????????????????????????????????????????????????????????Policy Tool ???????????????[Edit] ??????????????? [Change Keystore] ???????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????keytool???jarsigner???????????? policytool ?????????????????????????????????????????????????????????????????????????????????????????????
keystore.type?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????java.security ?????????????????? SDK ?????????????????????????????????????????????????????????java.home/lib/security??????????????????????????? java.home ??????????????????????????????????????? (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???:????????????????????????????????????????????????????????????????????????????????????????????????????????????JKS ??? jks ??????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????pkcs12 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
keystore.type=pkcs12PKCS#11 ???????????????????????????????????????????????????????????????????????????????????????Java PKCS#11 Reference Guide???????????????KeyTool and JarSigner???????????????????????????????????????
????????????????????????jarsigner ?????????????????????????????????????????????????????? JAR ?????????????????????????????????
- SHA-1 ???????????????????????????????????????????????? DSA (????????????????????????????????????)
- MD5 ???????????????????????????????????????????????? RSA ??????????????????
????????????????????????????????????????????????????????? DSA ?????????????????????jarsigner ??? SHA1withDSA ?????????????????????????????? JAR ????????????????????????????????????????????????????????? RSA ?????????????????????jarsigner ??? MD5withRSA ?????????????????????????????? JAR ???????????????????????????????????????
????????????????????????????????????????????????????????????-sigalg ???????????????????????????????????????????????????????????????
jarsigner ???????????? JAR ????????????????????????????????????????????????????????????????????? JAR ????????????????????? JAR ??????????????????????????????????????? 2 ??????????????????????????? META-INF ?????????????????????????????????????????????????????????
- .SF ???????????????????????????????????????
- .DSA ???????????????????????????????????????????????????
????????? 2 ???????????????????????????????????????????????????
-sigFile???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-sigFile MKSIGN????????????????????????????????????????????? MKSIGN.SF ??? MKSIGN.DSA ??????????????????
??????????????????
-sigfile????????????????????????????????????????????????.SF ??????????????? .DSA ???????????????????????????????????????????????????????????????????????????????????????????????? 8 ??????????????????????????????????????????????????????????????????????????? 8 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (_) ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (_)?????????????????????????????? (.SF) ????????????
?????????????????? (.SF ????????????) ??????jarsigner ????????????????????? JAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????.SF ?????????????????????JAR ???????????????????????????????????????????????????????????????????????? 3 ???????????????????????????
- ???????????????
- ?????????????????????????????????????????????????????? (SHA) ?????????
- SHA ????????????????????????
???????????????????????????????????????SHA ???????????????????????????????????????????????????????????????????????????????????????????????? (????????????) ??????????????????.SF ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? 3 ???????????????????????????
???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????JAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
?????????????????? (.DSA) ????????????
.SF ??????????????????????????????????????????????????? .DSA ?????????????????????????????????.DSA ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
J2SE 5.0 ???????????????
jarsigner???????????????JAR ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????jarsigner??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
JAR ?????????????????????????????????????????????????????????????????????????????????????????????????????? JAR ??????????????????????????????????????????????????????????????????????????????JAR ????????????????????????????????????????????????????????????
- .SF ??????????????????????????????????????????????????????
?????????????????????????????????????????? (.DSA) ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? .DSA ?????????????????????????????????????????? (??????????????????????????????) ???????????????????????????????????????????????????????????????????????????????????????????????? (.SF) ??????????????????????????????????????????????????????????????????.SF ??????????????????????????????????????????????????????????????????
- .SF ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
.SF ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????????????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????.SF ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (????????? (.SF) ????????????????????????)???
.SF ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (????????? .SF ????????????) ??????????????????JAR ??????????????? 1 ????????????????????????????????? (
jar??????????????????) ????????????????????????????????????jar??????????????????????????????????????????????????????????????????????????????????????????????????????????????? (????????????????????????????????????????????????????????????)???.SF ??????????????????????????????????????????????????????.SF ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????- JAR ??????????????????????????????????????????.SF ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????2 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????jarsigner ???????????????????????????????????????
1 ?????? JAR ???????????????????????? jarsigner ?????????????????????????????????????????????????????????????????????????????????????????????????????????JAR ?????????????????????????????????????????????????????????????????????????????????
jarsigner myBundle.jar susan jarsigner myBundle.jar kevinJAR ???????????????????????????????????????????????????????????? JAR ?????????????????? .SF ??????????????? .DSA ??????????????????????????????????????????????????????????????? .SF ??????????????? .DSA ????????????????????????1 ???????????????????????? 1 ????????????????????????????????????????????????????????????????????? JAR ???????????????????????????????????????????????????????????????????????????
SUSAN.SF SUSAN.DSA KEVIN.SF KEVIN.DSA???:JAR ?????????????????????JDK 1.1 ??? javakey ???????????????????????????????????? jarsigner ????????????????????????????????????????????????????????????????????? javakey ?????????????????????????????????????????? JAR ??????????????????jarsigner ??????????????????????????????????????????????????????
???????????????jarsigner ???????????????????????????????????????????????????:
- ????????????????????????????????????????????????????????? (-) ?????????
- ???????????????????????????????????????????????????
- ?????????????????????????????????????????? (?????????????????????) ????????????????????????????????????????????????
-keystore???-storepass???-keypass???-sigfile???-sigalg???-digestalg?????????-signedjar????????????????????????????????????????????????JAR ????????????????????????????????????????????????????????? ?????????????????????????????????JAR ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????JAR ??????????????????????????????????????????????????????
-keystoreurl- ????????????????????????????????? URL ?????????????????????????????????????????????????????????????????????????????????????????????????????? .keystore ????????? ????????????????????????????????????????????????user.home ????????????????????????????????????????????????????????????
?????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-verbose???????????????????????????????????????????????????JAR ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????:
-keystore??????????????????URL ?????????????????????????????? (?????????) ???????????????????????? ??????????????? (?????????) ??????????????????????????????file:???URL ??????????????????????????????????????????????????????????????????????????????-keystore filePathAndName??????????????????????????????????????????????????????????????????-keystore file:filePathAndNameJRE ??? $JAVA_HOME/lib/security ???????????????????????????????????? java.security ????????????????????????????????????????????????????????? Sun PKCS#11 ????????????????????????????????????????????????keytool ??? jarsigner ??? PKCS#11 ???????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????? PKCS#11 ????????????????????????????????????????????????
-keystore NONE-storetype PKCS11jarsigner -keystore NONE -storetype PKCS11 -list-storetypestoretype- ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? keystore.type ???????????????????????????????????????????????????????????? ???????????????
java.security.KeyStore??? staticgetDefaultType????????????????????????????????????
-storepass??????????????????????????? PCKS#11 ??????????????? PIN ???????????????????????????????????????????????????????????????????????????keytool ??? jarsigner ?????????????????????????????? PIN ??? ?????????????????????????????????????????????????????????????????? (????????? PIN ???????????????????????????????????????) ??????????????????-protected ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-storepasspassword- ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????JAR ??????????????????????????????????????????????????? (JAR ??????????????????????????????????????????)???????????????????????????????????????????????????
-storepass??????????????????????????????????????????????????????????????????????????????????????????????????????:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????password ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-keypasspassword- ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????jarsigner ???????????? JAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????password ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-sigfilefile- .SF ??????????????? .DSA ??????????????????????????????????????????????????????????????????????????????????????????file ??? DUKESIGN ???????????????????????????????????? .SF ??????????????? .DSA ??????????????????????????????????????? DUKESIGN.SF ??? DUKESIGN.DSA ?????????????????? ?????????????????????????????????????????? JAR ??????????????? META-INF ???????????????????????????????????????
file ??????????????????????????????a-zA-Z0-9_-?????????????????????????????????????????????????????????????????????????????????????????????????????????:.SF ????????? .DSA ?????????????????????????????????????????????????????????????????????????????????
??????????????????
-sigfile????????????????????????????????????????????????.SF ??????????????? .DSA ???????????????????????????????????????????????????????????????????????????????????????????????? 8 ??????????????????????????????????????????????????????????????????????????? 8 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (_) ?????????????????????????????????????????????????????????-sigalgalgorithmJAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Java Cryptography Architecture???????????? ???Appendix A ???????????????????????????????????????????????????????????????JAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? SHA1withDSA???MD5withRSA ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? -providerClass ??????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????
-digestalgalgorithmJAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Java Cryptography Architecture???????????? ???Appendix A ???????????????????????????????????????????????????????????????????????????????????????SHA-1 ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? -providerClass ??????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????
-signedjarfile- ???????????? JAR ??????????????????????????????????????????
?????????????????????????????????????????????????????????????????? JAR ???????????? (???????????????????????? JAR ????????????) ????????????????????????????????????????????? ????????????????????? JAR ??????????????????????????? JAR ????????????????????????????????????????????????
-verify- ?????????????????????????????????????????????????????????????????????????????????????????? JAR ????????????????????????????????????JAR ???????????????????????????????????????????????? ??????????????????????????????jar ?????????????????????????????? ???????????????????????????????????????????????????????????????????????? JAR ???????????????????????????????????????????????????????????????????????? (RSA ????????????????????????????????????????????????????????????????????? RSA ??????) ??????????????????????????? JAR ????????????????????????????????????????????????jar ?????????????????????????????????(????????????????????????????????????????????????????????????)???????????????????????????????????????????????????
???????????? JAR ??????????????????jarsigner ????????? JDK 1.1 ??? javakey ?????????????????????????????????????????????????????????????????????
????????????????????????????????????JAR ??????????????????????????????????????????????????????
-certs- ?????????????????????
-verify?????????-verbose????????????????????????????????????????????????????????????????????????????????????JAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
- ???????????????????????????????????? (.DSA ??????????????????????????????) ???????????????????????????
- ???????????? X.509 ????????? (????????????
java.security.cert.X509Certificate?????????????????????) ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
- ??????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????? JDK 1.1 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-verbose- ????????????????????????????????????????????????????????????????????????jarsigner ???????????????????????????????????????JAR ????????????????????????????????????????????????????????????????????????????????????
-internalsf- ????????????JAR ?????????????????????????????????????????? .DSA (??????????????????) ??????????????????????????????????????? .SF ???????????? (??????????????????) ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? JAR ????????????????????????????????????????????????????????????????????????????????? .SF ??????????????? .DSA ??????????????????????????????????????????????????????????????????????????????????????????
-internalsf???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????-sectionsonly- ????????????????????????????????????????????????????????????????????????JAR ?????????????????????????????????????????? .SF ???????????? (??????????????????) ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????.SF ????????????????????????????????????JAR ???????????????????????????????????????????????????????????????????????????????????????????????? ????????????????????? (.SF) ?????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????JAR ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ??????????????????.SF ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???????????????JAR ??????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????
-protectedtrue?????????false???????????????????????? PIN ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????true??????????????????????????????-providerprovider-class-name????????????????????????????????????????????????????????????????????????????????? (java.security) ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-providerArgConfigFilePath ?????????????????????????????????????????????????????? keytool ??? jarsigner ????????????????????????????????????????????????????????? (????????????ConfigFilePath ???????????????????????????????????????????????????)???????????????????????????????????????????????????????????? Sun PKCS#11 ??????????????????????????????????????????????????? PKCS#11 ??????????????????????????????????????????????????????????????????????????????jarsigner -keystore NONE -storetype PKCS11 \ -providerClass sun.security.pkcs11.SunPKCS11 \ -providerArg /foo/bar/token.config \ -list-providerNameproviderNamejava.security ????????????????????????????????????????????????????????? 2 ????????????????????????????????????????????????????????????-providerName ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? Sun PKCS#11 ???????????????????????????providerName ??? SunPKCS11-TokenName ????????????????????????????????? ????????????TokenName??????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? SmartCard ??? PKCS#11 ?????????????????????????????????????????????????????????????????????????????????
jarsigner -keystore NONE -storetype PKCS11 \ -providerName SunPKCS11-SmartCard \ -list-Jjavaoption??????????????? javaoption ???????????? Java ??????????????????????????????????????????(jarsigner ?????????????????? Java ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? java -h?????????java -X??????????????????????????????-tsaurlJAR ???????????????????????????????????????????????? -tsa http://example.tsa.url????????????????????????????????????????????????????????????????????????????????????URLhttp://example.tsa.url??????TSA (Time Stamping Authority) ??????????????????????????????????????????-tsacert????????????????????????????????? URL ????????????????????????????????????-tsa????????????????????????TSA ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
jarsigner??? RFC 3161 ???????????????????????? TSP (Time-Stamp Protocol) ??????????????? TSA ???????????????????????????????????????TSA ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-tsacertaliasJAR ???????????????????????????????????????????????? -tsacert alias????????????????????????????????????????????????????????????????????????????????????alias?????????????????????????????????????????? TSA ????????????????????????????????????????????????????????????????????????TSA ???????????????????????? URL ????????? Subject Information Access ????????????????????????????????????TSA ???????????????????????????
-tsacert????????????????????????????????????????????????????????????????????????????????????-altsignerclass?????????????????????????????????????????????????????????????????????????????????????????? com.sun.jarsigner.ContentSigner??? abstract ???????????????????????????????????????????????????????????????????????????????????????????????????????????????-altsignerpath????????????????????????????????????????????????-altsigner???????????????????????????????????????jarsigner???????????????????????????????????????????????????????????????????????????????????????jarsigner?????????????????????????????????????????????????????????????????????
com.sun.sun.jarsigner.AuthSigner?????????????????????????????????????????????????????????????????????jarsigner??????????????????-altsigner com.sun.jarsigner.AuthSigner????????????????????????-altsignerpathclasspathlist????????????????????? (????????????????????????????????????????????? -altsigner?????????????????????????????????) ?????????????????????????????? JAR ????????????????????????????????????????????????????????????????????? JAR ????????????????????????????????????????????????????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
classpathlist????????????????????????????????? JAR ???????????????????????????????????????????????? ????????????????????????????????? JAR ??????????????????Solaris ???????????????????????? (:)???Windows ?????????????????????????????? (;) ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????JAR ????????????????????????????????????????????????????????????
-altsignerpath /home/user/lib/authsigner.jarJAR ????????????????????????????????????????????????????????????????????????
?????????????????????????????? JAR ????????????????????????????????????????????????????????????
-altsignerpath /home/user/classes/com/sun/tools/jarsigner/JAR ???????????????????????????????????????????????????????????????????????????
JAR ?????????????????????
bundle.jar ?????????????????? JAR ???????????????????????????????????? ??????????????????????????????????????????????????? jane ?????????????????????????????????????????????????????????????????????????????????????????????????????????mystore ?????????????????????C ??????????????? working ?????????????????????????????????????????????????????????????????? mypass???jane ???????????????????????????????????? j638klm ?????????????????????????????????????????????????????????????????????JAR ????????????????????????????????? sbundle.jar ????????????????????? JAR ????????????????????????????????????
jarsigner -keystore /working/mystore -storepass myspass -keypass j638klm -signedjar sbundle.jar bundle.jar jane????????????????????????
-sigfile??????????????????????????????????????????????????????????????? JAR ?????????????????????????????? .SF ??????????????? .DSA ?????????????????????????????????????????????????????????????????????????????????????????????JANE.SF???JANE.DSA???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
jarsigner -keystore /working/mystore -signedjar sbundle.jar bundle.jar jane????????????????????????????????? (????????????????????????????????? .keystore ?????????????????????????????????) ???????????????????????????????????????????????????????????????????????????????????????????????????
jarsigner -signedjar sbundle.jar bundle.jar jane????????????????????? JAR ????????????????????? JAR ???????????? (
bundle.jar) ??????????????????????????????-signedjar????????????????????????????????????????????????jarsigner bundle.jar jane???????????? JAR ?????????????????????
????????????????????????????????? JAR ????????????????????????????????????????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????????
jarsigner -verify sbundle.jar?????????????????????????????????????????????????????????????????????????????????
jar ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-verbose????????????????????????????????????????????????????????????????????????????????????????????????-verbose?????????????????????????????? jarsigner ??????????????????????????????????????????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 = ????????????????????????????????? m = ??????????????????????????????????????????????????????????????? k = 1 ?????????????????????????????????????????????????????????????????? jar ????????????????????????????????????????????????????????????
???????????????
-verify???-verbose???????????????????????????-certs??????????????????????????????????????????JAR ???????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????? (X.509 ??????????????????)???????????? JAR ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????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 = ????????????????????????????????? m = ??????????????????????????????????????????????????????????????? k = 1 ?????????????????????????????????????????????????????????????????? jar ??????????????????????????????????????????????????? X.509 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? PGP ???????????????????????? bob ???????????????????????????????????????????????????
PGP, (bob)?????????????????????????????????????????????????????????????????? JAR ?????????????????????
JAR ??????????????????JDK 1.1 ??? javakey ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????? i ????????????????????????????????????JAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????k ??? i ?????????????????????????????????
-certs????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????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 = ????????????????????????????????? m = ??????????????????????????????????????????????????????????????? k = 1 ?????????????????????????????????????????????????????????????????? i = 1 ?????????????????????????????????????????????????????????????????????????????????????????? jar ????????????????????????????????? duke ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
- jar ??????????????????????????????
- keytool ??????????????????????????????
- jarsigner ??????????????????????????????????????????Java Tutorial?????????Security????????????
Copyright © 1995-2010 Sun Microsystems, Inc. All Rights Reserved. Please send comments using this Feedback page. |
Java Technology |