![]() | 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 ??????????????????????????????????????????????????????
-keystore
url- ????????????????????????????????? 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 PKCS11
jarsigner -keystore NONE -storetype PKCS11 -list-storetype
storetype- ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? keystore.type ???????????????????????????????????????????????????????????? ???????????????
java.security.KeyStore
??? staticgetDefaultType
????????????????????????????????????
-storepass
??????????????????????????? PCKS#11 ??????????????? PIN ???????????????????????????????????????????????????????????????????????????keytool ??? jarsigner ?????????????????????????????? PIN ??? ?????????????????????????????????????????????????????????????????? (????????? PIN ???????????????????????????????????????) ??????????????????-protected ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-storepass
password- ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????JAR ??????????????????????????????????????????????????? (JAR ??????????????????????????????????????????)???????????????????????????????????????????????????
-storepass
??????????????????????????????????????????????????????????????????????????????????????????????????????:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????password ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-keypass
password- ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????jarsigner ???????????? JAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
???:????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????password ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-sigfile
file- .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 ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (_) ?????????????????????????????????????????????????????????-sigalg
algorithmJAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Java Cryptography Architecture???????????? ???Appendix A ???????????????????????????????????????????????????????????????JAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? SHA1withDSA???MD5withRSA ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? -providerClass ??????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????
-digestalg
algorithmJAR ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Java Cryptography Architecture???????????? ???Appendix A ???????????????????????????????????????????????????????????????????????????????????????SHA-1 ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? -providerClass ??????????????????????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????
-signedjar
file- ???????????? 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 ??????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????
-protected
true
?????????false
???????????????????????? PIN ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????true
??????????????????????????????-provider
provider-class-name????????????????????????????????????????????????????????????????????????????????? (java.security) ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
-providerArg
ConfigFilePath ?????????????????????????????????????????????????????? keytool ??? jarsigner ????????????????????????????????????????????????????????? (????????????ConfigFilePath ???????????????????????????????????????????????????)???????????????????????????????????????????????????????????? Sun PKCS#11 ??????????????????????????????????????????????????? PKCS#11 ??????????????????????????????????????????????????????????????????????????????jarsigner -keystore NONE -storetype PKCS11 \ -providerClass sun.security.pkcs11.SunPKCS11 \ -providerArg /foo/bar/token.config \ -list-providerName
providerNamejava.security ????????????????????????????????????????????????????????? 2 ????????????????????????????????????????????????????????????-providerName ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? Sun PKCS#11 ???????????????????????????providerName ??? SunPKCS11-TokenName ????????????????????????????????? ????????????TokenName??????????????????????????????????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? SmartCard ??? PKCS#11 ?????????????????????????????????????????????????????????????????????????????????
jarsigner -keystore NONE -storetype PKCS11 \ -providerName SunPKCS11-SmartCard \ -list-J
javaoption??????????????? javaoption ???????????? Java ??????????????????????????????????????????(jarsigner ?????????????????? Java ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? java -h
?????????java -X
??????????????????????????????-tsa
urlJAR ???????????????????????????????????????????????? -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 ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????-tsacert
aliasJAR ???????????????????????????????????????????????? -tsacert alias
????????????????????????????????????????????????????????????????????????????????????alias
?????????????????????????????????????????? TSA ????????????????????????????????????????????????????????????????????????TSA ???????????????????????? URL ????????? Subject Information Access ????????????????????????????????????TSA ???????????????????????????
-tsacert
????????????????????????????????????????????????????????????????????????????????????-altsigner
class?????????????????????????????????????????????????????????????????????????????????????????? com.sun.jarsigner.ContentSigner
??? abstract ???????????????????????????????????????????????????????????????????????????????????????????????????????????????-altsignerpath
????????????????????????????????????????????????-altsigner
???????????????????????????????????????jarsigner
???????????????????????????????????????????????????????????????????????????????????????jarsigner
?????????????????????????????????????????????????????????????????????
com.sun.sun.jarsigner.AuthSigner
?????????????????????????????????????????????????????????????????????jarsigner
??????????????????-altsigner com.sun.jarsigner.AuthSigner
????????????????????????-altsignerpath
classpathlist????????????????????? (????????????????????????????????????????????? -altsigner
?????????????????????????????????) ?????????????????????????????? JAR ????????????????????????????????????????????????????????????????????? JAR ????????????????????????????????????????????????????????? JAR ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
classpathlist
????????????????????????????????? JAR ???????????????????????????????????????????????? ????????????????????????????????? JAR ??????????????????Solaris ???????????????????????? (:
)???Windows ?????????????????????????????? (;
) ???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????JAR ????????????????????????????????????????????????????????????
-altsignerpath /home/user/lib/authsigner.jar
JAR ????????????????????????????????????????????????????????????????????????
?????????????????????????????? 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 |