|
Spec-Zone .ru
спецификации, руководства, описания, API
|
Отметьте: Это руководство по плагину Java описывает функции, выпущенные до Java SE 6 обновлений 10 выпусков. См. Java Богатый документ Разработки и Развертывания Интернет-приложений для последней информации.
Эта глава затрагивает следующие темы:
RSA-подписанные апплеты поддерживаются, чтобы сделать развертывание подписанных апплетов легче. Однако, подписание апплетов через RSA является все еще трудным для большинства разработчиков апплета новичка и препятствует тому, чтобы они в полной мере пользовались этой функцией Плагина Java. Этот документ обеспечивает постепенные инструкции для того, чтобы они подписали апплеты, используя сертификаты RSA, разрешая разработчикам апплета новичка подписать их апплеты, не имея необходимость пробираться через многие сложные включенные вопросы безопасности.
Подписание апплетов требует следующего:
Плагин Java поддерживает формат следующих инструментов для того, чтобы подписать апплеты, используя RSA:
jarsignerâ Подписание инструмента, поставленного как часть SDK Javasigntoolâ Подписание инструмента обеспечил Netscape для подписания апплетов в Навигаторе/Коммуникаторе. Для получения дополнительной информации на инструменте знака и загрузке этого считал страницу в .Сертификаты RSA могут быть куплены от Центра сертификации (CA), который поддерживает RSA, такой как и . Некоторая АВАРИЯ, такая как VeriSign, реализует различные протоколы для того, чтобы выпустить сертификаты, в зависимости от определенного инструмента подписания, который Вы используете.
Jarsigner, как известно, работает с VeriSign и сертификатами Thawte и может работать с Сертификатом Authorties. Чтобы использовать Jarsigner, чтобы подписать апплеты, используя сертификаты RSA, получите сертификат из VeriSign или от Thawteâ или подобные сертификаты от другой АВАРИИ. Во время процесса регистрации сертификата Вас попросят обеспечить запрос подписания сертификата (CSR). Чтобы генерировать CSR, следуйте за этими шагами:
keytool генерировать пару ключей RSA (использующий"-genkey -keyalg rsa"опции). Удостоверьтесь, что Ваше отличительное имя содержит все компоненты, переданные под мандат VeriSign/Thawte. Например,
C:\Program Files\Java\jdk1.6.0\bin\keytool -genkey -keyalg rsa -alias MyCert
Enter keystore password: *********
What is your first and last name?
[Unknown]: XXXXXXX YYY
What is the name of your organizational unit?
[Unknown]: Example Software
What is the name of your organization?
[Unknown]: New Technology Company
What is the name of your City or Locality?
[Unknown]: Cupertino
What is the name of your State or Province?
[Unknown]: CA
What is the two-letter country code for this unit?
[Unknown]: US
Is <CN=XXXXXXX YYY, OU=Example Software, O=New Technology Company,
L=Cupertino, ST=CA, C=US> correct?
[no]: yes
Enter key password for <MyCert>
(RETURN if same as keystore password): *********
keytool -certreq"чтобы генерировать сертификацию, подписывая запрос. Скопируйте результат и вставьте его в VeriSign/Thawte webform. Например, C:\Program Files\Java\jdk1.6.0\bin\keytool -certreq -alias MyCert Enter keystore password: ********* -----BEGIN NEW CERTIFICATE REQUEST----- MIIBtjCCAR8CAQAwdjELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRIwE AYDVQQHEwlDdXBlcnRpbm8xGTAXBgNVBAoTEFN1biBNaWNyb3N5c3RlbX MxFjAUBgNVBAsTDUphdmEgU29mdHdhcmUxEzARBgNVBAMTClN0YW5sZXk gSG8wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALTgU8PovA4y59eb oPjY65BwCSc/zPqtOZKJlaW4WP+UhmebE+T2Mho7P5zXjGf7elo3tV5uI 3vzgGfnhgpf73EoMow8EJhly4w/YsXKqeJEqqvNogzAD+qUv7Ld6dLOv0 CO5qvpmBAO6mfaI1XAgx/4xU/6009jVQe0TgIoocB5AgMBAAGgADANBgk qhkiG9w0BAQQFAAOBgQAWmLrkifKiUYtd4ykhBtPWSwW/IKkgyfIuNMML dF1DH8neSnXf3ZLI32f2yXvs7u3/xn6chnTXh4HYCJoGYOAbB3WNbAoQR i6u6TLLOvgv9pMNUo6v1qB0xly1faizjimVYBwLhOenkA3Bw7S8UIVfdv 84cO9dFUGcr/Pfrl3GtQ== -----END NEW CERTIFICATE REQUEST-----
keytool -import"чтобы импортировать цепочку в Ваш keystore. Например, C:\Program Files\Java\jdk1.6.0\bin\keytool -import -alias MyCert -file VSSStanleyNew.cer
jarsigner подписать Ваш файл JAR.
ОтметитьСледует использовать то же самое имя псевдонима для всего вышеупомянутого stepsâ или никакое имя псевдонима, когда значения по умолчанию имени псевдонима к "mykey". |
Большинство АВАРИИ (например, VeriSign/Thawte) поддерживают Инструмент Подписания Netscape. Чтобы использовать Инструмент Подписания Netscape, чтобы подписать апплеты, используя сертификаты RSA, получите сертификат из Verisign или сертификат от Thawteâ или подобные сертификаты от другой АВАРИИ. Во время процесса регистрации Вас попросят относительно персонального / информации о компании, так как CA должен будет проверить Ваши идентификационные данные прежде, чем выпустить сертификат. Этот процесс может взять от нескольких часов до нескольких дней.
Как только сертификат RSA выпускается, он обычно состоит из трех файлов:
cert7.dbkey3.dbsecmod.dbВ зависимости от CA сертификат может быть выпущен и сохранен на дискете, или это может быть сохранено непосредственно в модулях безопасности Навигатора/Коммуникатора Netscape. Как только у Вас есть сертификат, Вы готовы использовать Инструмент Подписания Netscape, чтобы подписать Ваш файл JAR.
Чтобы использовать Jarsigner, чтобы подписать апплеты с сертификатами RSA, апплеты должны быть связаны как файлы JAR. Инструмент Фляги (команда jar ...), который прибывает wiht Java SDK SE, может использоваться с этой целью. Например,
C:\Program Files\Java\jdk1.6.0\bin\jar cvf C:\TestApplet.jar . added manifest adding: TestApplet.class (in = 94208) (out= 20103)(deflated 78%) adding: TestHelper.class (in = 16384) (out= 779)(deflated 95%)Этот пример создает файл JAR C:\TestApplet.jar, и это содержит все файлы под текущим каталогом и его подкаталогами.
После того, как файл JAR создается, следует проверить его контент, используя jar оснастите снова, например,
C:\Program Files\Java\jdk1.6.0\bin\jar 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
Это гарантирует, что файлы class хранятся с надлежащим путем в пределах файла JAR. Чтобы подписать апплет с сертификатом RSA, используя Инструмент Подписания Netscape, апплет должен быть помещен в каталог, например, C:\signdir. Инструмент Подписания Netscape свяжет это как файл JAR после процесса подписания.
Как только у Вас есть сертификаты RSA, инструмент подписания и файлы JAR апплета, Вы готовы подписать апплеты.
jarsignerПодписать использование апплетов jarsigner, следуйте за этими шагами:
jarsigner подписать файл JAR, используя учетные данные RSA в Ваших keystore, которые были сгенерированы в предыдущих шагах. Удостоверьтесь, что то же самое имя псевдонима определяется. Например, C:\Program Files\Java\jdk1.6.0\bin\jarsigner C:\TestApplet.jar MyCert Enter Passphrase for keystore: ********
jarsigner -verify -verbose -certs"чтобы проверить файлы фляги
C:\Program Files\Java\jdk1.6.0\bin\jarsigner -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=Example Software,
O=New Technology Company, L=Cupertino,
ST=CA, C=US (mycert)
X.509, CN=New Technology Company, OU=Java Plug-in QA,
O=New Technology Company, 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.
Чтобы подписать апплеты, используя signtool, следуйте за этими шагами:
signtool -L"чтобы определить прозвище сертификата, которое должно использоваться в подписании. Например,
C:\signtool13WINNT40\signtool -L -d a:\cert
using certificate directory: a:\cert
S Certificates
- ------------
AT&T Certificate Services
Thawte Personal Premium CA
GTE CyberTrust Secure Server CA
Verisign/RSA Commercial CA
AT&T Directory Services
BelSign Secure Server CA
BelSign Class 1 CA
GTIS/PWGSC, Canada Gov. Web CA
Thawte Personal Freemail CA
Thawte Server CA
GTIS/PWGSC, Canada Gov. Secure CA
MCI Mall CA
VeriSign Class 3 Primary CA
VeriSign Class 4 Primary CA
KEYWITNESS, Canada CA
BelSign Class 2 CA
BelSign Object Publishing CA
* Sun Microsystems, Inc.
VeriSign Class 3 CA - Commercial Content/Software
Publisher - VeriSign, Inc.
Verisign/RSA Secure Server CA
VeriSign Class 1 Primary CA
BBN Certificate Services CA Root 1
Thawte Personal Basic CA
* Sun Microsystems, Inc.'s VeriSign, Inc. ID
CertiSign BR
VeriSign Class 2 Primary CA
Canada Post Corporation CA
Integrion CA
IBM World Registry CA
BelSign Class 3 CA
Uptime Group Plc. Class 1 CA
Uptime Group Plc. Class 2 CA
Thawte Premium Server CA
Uptime Group Plc. Class 3 CA
GTE CyberTrust Root CA
Uptime Group Plc. Class 4 CA
- ------------
Certificates that can be used to sign objects
have *'s to their left.
mkdir signdir
signtool -Z"чтобы подписать апплет. Например,
C:\signtool13>signtool -k "Sun Microsystems, Inc.'s VeriSign, Inc. ID"
-d a:\cert -Z c:\TestApplet.jar c:\signdir
using certificate directory: a:\cert
Generating c:\signdir/META-INF/manifest.mf file..
--> TestApplet.class
adding c:\signdir/TestApplet.class to c:\TestApplet.jar...
(deflated 57%)
--> TestHelper.class
adding c:\signdir/TestHelper.class to c:\TestApplet.jar...
(deflated 43%)
Generating zigbert.sf file..
adding c:\signdir/META-INF/manifest.mf to c:\TestApplet.jar...
(deflated 44%)
adding c:\signdir/META-INF/zigbert.sf to c:\TestApplet.jar...
(deflated 46%)
adding c:\signdir/META-INF/zigbert.rsa to c:\TestApplet.jar...
(deflated 40%)
tree "c:\signdir" signed successfully
signtool -w"чтобы проверить архив. Например,
C:\signtool13>signtool -w c:\TestApplet.jar -d a:\cert
using certificate directory: a:\cert
Signer information:
nickname: Sun Microsystems, Inc.'s VeriSign, Inc. ID
subject name: C=US, ST=CA, L=Palo Alto, OU=Example Software,
CN=Sun Microsystems, OU=Digital ID Class 3 - Netscape
Object Signing, OU="www.verisign.com/repository/RPA Incorp.
by Ref.,LIAB.LTD(c)99", OU=VeriSign Trust Network,
O="VeriSign, Inc."
issuer name: CN=VeriSign Class 3 CA - Commercial Content/Software
Publisher, OU="www.verisign.com/repository/RPA Incorp.
by Ref.,LIAB.LTD(c)98", OU=VeriSign Trust Network,
O="VeriSign, Inc."
Ваш апплет был подписан должным образом. Вы теперь готовы развернуть свой RSA подписанный апплет. См., Как Развернуть RSA Подписанные Апплеты для информации о развертывании.
Существующий RSA подписанные апплеты, разработанные для Netscape, может использовать Специфичные для netscape API безопасности. Эти Специфичные для netscape API не поддерживаются в Плагине Java. Вместо этого Плагин поддерживает стандартные API безопасности Java и в Навигаторе Netscape и в Internet Explorer.
Переместить Подписанные netscape апплеты, используя API безопасности Netscape, чтобы работать в Плагине Java:
netscape.security.* связанные операторы от апплета Java.Это гарантирует, что RSA подписанный апплет будет работать и в Навигаторе Netscape и в Internet Explorer с Плагином Java.