Я пытался подписать архив апплета jar с помощью сертификата нашей компании .pfx, используя это руководство
(и несколько других из интернета):
http://www.globalsign.com/support/ordering-guides/SignJavaCodeAppletsPFX.pdf
Все вроде бы нормально, но когда я пытаюсь запустить apple через браузер, я вижу, что
«Издатель» НЕИЗВЕСТЕН (недоверен). И когда я иду к деталям, я могу видеть правильную компанию
имя и сертификат поставщика (GlobalSign). Почему он не отображается должным образом как известный / доверенный?
Единственное, что мне кажется подозрительным, это вывод команды
jarsigner -verify -verbose -certs Applet.jar:
(...)
sm 1936 Wed Apr 13 03:00:50 CEST 2011 org/my/Applet.class
X.509, CN=CompanyName, O=CompanyName, L=Tilst, ST=ProperState, C=DK
[certificate is valid from 18.02.10 14:58 to 18.02.13 14:58]
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
Похоже, что "k = по крайней мере один сертификат был найден в хранилище ключей" отсутствует
(должно быть смк и это см). Это подписано только частично? Или что?
Возможно ли, что файл .pfx, данный мне GlobalSign, как-то не так
на недостаточно подписать апплеты? Для обычных исполняемых файлов это работало просто отлично ...
Есть идеи? ;)
РЕДАКТИРОВАТЬ
@ Jcs
Похоже, ты совершенно прав. Я проверил свой файл PFX с помощью keytool, и я получил:
Your keystore contains 1 entry
Alias name: company_alias
Creation date: Apr 13, 2011
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Похоже, цепь не завершена.
Я не уверен, имеет ли это значение, но есть также несколько расширений, таких как, например:
#1: ObjectId: (some_numbers_here) Criticality=true
KeyUsage [
DigitalSignature
]
#2: ObjectId: (some_numbers_here) Criticality=false
AuthorityInfoAccess [
[
accessMethod: (some_numbers_here)
accessLocation: URIName: http://secure.globalsign.net/cacert/ObjectSign.crt]
]
(...)
Вопрос: мой файл PFX полностью неверен, или мне как-то нужно добавить в него корень globalsign?