溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

簽名一個(gè)使用插件1.3版的Java小程序(轉(zhuǎn))

發(fā)布時(shí)間:2020-08-14 05:22:06 來(lái)源:ITPUB博客 閱讀:169 作者:rainytag 欄目:編程語(yǔ)言
為了簽署一個(gè)小程序,有下面幾件事情需要完成:
1。簽名工具
2。一個(gè)RAS keypair 和一個(gè)公鑰的證書(shū)鏈。
3。把小程序用到的所有類(lèi)文件打包成一個(gè)JAR文件。

簽名工具

現(xiàn)在有兩種工具支持簽署使用插件的小程序
1。Jarsigner --可以在jdk里找到2。Netscape Signing Tool 網(wǎng)景公司提供的一個(gè)簽
署小程序的工具,用來(lái)簽名在網(wǎng)景瀏覽器中使用的小程序。最新的版本可以到
http://developer.netscape.com/software/signedobj/jarpack.html 下載
注意:網(wǎng)景公司已經(jīng)不再提供舊版本的簽名工具的下載

RSA 證書(shū)

RSA 證書(shū)需要向一個(gè)支持RAS的CA公司購(gòu)買(mǎi)。如Thawte
為了使用RSA證書(shū)簽名你的小程序,你需要從Thawte或是其它CA獲得Java代碼簽名證
書(shū)。在你登記你的證書(shū)的時(shí)候可能需要你提供證書(shū)簽名請(qǐng)求文件(CSR)你可使用以下
步驟:
---------------------------------------------------------
1。使用keytool建立一個(gè)RSA keypair
2. C:>C:jdk1.3inkeytool -genkey -keyalg rsa -alias MyCert
3. Enter keystore password: ********* file://鍵入你keystore的密碼
4. What is your first and last name? file://以下是鍵入你的信息
[Unknown]: XXXXXXX YYY
5. What is the name of your organizational unit?
6. [Unknown]: Java Software
7. What is the name of your organization?
8. [Unknown]: Sun Microsystems
9. What is the name of your City or Locality?
10. [Unknown]: Cupertino
11. What is the name of your State or Province?
12. [Unknown]: CA
13. What is the two-letter country code for this unit?
14. [Unknown]: US
15. Is ST=CA, C=US> correct?
16. [no]: yes file://確認(rèn)后按y結(jié)束
17. Enter key password for file://鍵入你key的密碼。若按回車(chē)次密碼與
鍵入的keystore的密碼相同
18. (RETURN if same as keystore password): *********
19。使用 "keytool -certreq" 建立一個(gè)證書(shū)請(qǐng)求文件,拷貝并粘貼到Thawte的
webform上。例如:
20. C:>C:jdk1.3inkeytool -certreq -alias MyCert
21. Enter keystore password: *********
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIBtjCCAR8CAQAwdjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRIwE
AYDVQQHEwlDdXBlcnRpbm8xGTAXBgNVBAoTEFN1biBNaWNyb3N5c3RlbX
MxFjAUBgNVBAsTDUphdmEgU29mdHdhcmUxEzARBgNVBAMTClN0YW5sZXk
gSG8wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALTgU8PovA4y59eb
oPjY65BwCSc/zPqtOZKJlaW4WP+UhmebE+T2Mho7P5zXjGf7elo3tV5uI
3vzgGfnhgpf73EoMow8EJhly4w/YsXKqeJEqqvNogzAD+qUv7Ld6dLOv0
CO5qvpmBAO6mfaI1XAgx/4xU/6009jVQe0TgIoocB5AgMBAAGgADANBgk
qhkiG9w0BAQQFAAOBgQAWmLrkifKiUYtd4ykhBtPWSwW/IKkgyfIuNMML
dF1DH8neSnXf3ZLI32f2yXvs7u3/xn6chnTXh5HYCJoGYOAbB3WNbAoQR
i6u6TLLOvgv9pMNUo6v1qB0xly1faizjimVYBwLhOenkA3Bw7S8UIVfdv
84cO9dFUGcr/Pfrl3GtQ==
-----END NEW CERTIFICATE REQUEST-----
22。你可以從郵箱里收到Thawte發(fā)給你的證書(shū)鏈,拷貝她并存處在一個(gè)文件中??梢允?br />用 "keytool -import" 把它導(dǎo)入你的keystore中
23. C:>C:jdk1.3inkeytool -import -alias MyCert -file VSSStanleyNew.cer
24。導(dǎo)入成功后你的證書(shū)及證書(shū)支持的鏈將生效。你現(xiàn)在可以使用Jarsigner簽名你的
Jar文件了。注意:必須所有的步驟使用同樣的別名或是不使用別名(缺省的別名是
"mykey")

打包Java小程序

使用Jarsigner和你的RSA證書(shū)簽名你的小程序,小程序必須打包成JAR文件。JAR工具也
可以在JDK里找到。
例如 C:>C:jdk1.3injar cvf C:TestApplet.jar .
added manifest
adding: TestApplet.class (in = 94208) (out= 20103)(deflated 78%)
adding: TestHelper.class (in = 16384) (out= 779)(deflated 95%)
這個(gè)例子將建立一個(gè)名為T(mén)estApplet.jar的JAR文件,它包含當(dāng)前目錄下的以及其子目
錄下的所有文件
當(dāng)JAR文件建立后,你需要驗(yàn)證它的完整性。
C:>C:jdk1.3injar tvf TestApplet.jar
0 Mon Mar 06 18:02:54 PST 2000 META-INF/
68 Mon Mar 06 18:02:54 PST 2000 META-INF/MANIFEST.MF
94208 Wed Mar 10 11:48:52 PST 2000 TestApplet.class
16384 Wed Mar 10 11:48:52 PST 2000 TestHelper.class
這樣可以保證存儲(chǔ)在JAR里的類(lèi)文件的是正確的

簽名小程序

使用下面的步驟來(lái)簽名小程序:
1。使用Jarsigner簽名JAR文件,使用先前步驟中建里在你的keystore文件中的RSA證
書(shū),確保別名相同。
2. C:>C:jdk1.3injarsigner C:TestApplet.jar MyCert
3. Enter Passphrase for keystore: ********
4. Use "jarsigner -verify -verbose -certs" to verify the jar files
5. C:>C:jdk1.3injarsigner -verify -verbose -certs d:TestApplet.jar
245 Wed Mar 10 11:48:52 PST 2000 META-INF/manifest.mf
187 Wed Mar 10 11:48:52 PST 2000 META-INF/MYCERT.SF
968 Wed Mar 10 11:48:52 PST 2000 META-INF/MYCERT.RSA
smk 943 Wed Mar 10 11:48:52 PST 2000 TestApplet.class
smk 163 Wed Mar 10 11:48:52 PST 2000 TestHelper.class

X.509, CN=XXXXXXX YYY, OU=Java Software,
O=Sun Microsystems, L=Cupertino,
ST=CA, C=US (mycert)
X.509, CN=Sun Microsystems, OU=Java Plug-in QA,
O=Sun Microsystems, L=Cupertino, ST=CA, C=US
X.509, EmailAddress=server-certs@thawte.com,
CN=Thawte Server CA, OU=Certification
Services Division, O=Thawte Consulting cc,
L=Cape Town, ST=Western Cape, C=ZA

s = signature was verified
m = entry is listed in manifest
k = at least one certificate was found in keystore
i = at least one certificate was found in identity scope

jar verified.
6?,F(xiàn)在你的小程序已經(jīng)被正確的簽名??梢园l(fā)布你的這個(gè)小程序了。


發(fā)布簽名過(guò)的小程序

1。在 EMBED/OBJECT 標(biāo)記中加入 ARCHIVE=xyz.jar
2。把JAR文件及其HTML頁(yè)放到web服務(wù)器上?!@more@]
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI