2012-05-24 2 views
0

подписания банкой в ​​Java, я следовал эти три шага, чтобы подписатьАвтор неизвестен для знакового банка

  1. keytool -genkey -keystore myKeyStore -alias me
  2. keytool -selfcert -keystore myKeyStore -alias me
  3. jarsigner -keystore myKeyStore jarfile.jar me

Мои вопросы заключаются в следующем:

  1. После этого я запустил свой апплет, почему он показывает, что автор неизвестен?
  2. Могу ли я дать -validity дней для моей банки, какие максимальные дни я могу дать?

ответ

2
  1. Вы создали сертификат самоподписным один. Только сертификаты, подписанные одним из центров доверия, отмеченные как доверенные в настройках Java, отображаются как «проверенный автор».

  2. Срок действия не имеет отношения к тому, как долго ваш JAR-файл будет работать. Срок действия только помечает время вы можете использовать сертификат (или более закрытый ключ, который принадлежит к сертификату) для подписания

2
  1. Это показывает, как «Автор неизвестен», если цифровой сертификат не удостоверенное ключевую цепочку обратно в CA (центр сертификации), такой как Verisign. Проблема с «самоподписанным» сертификатом заключается в том, что, хотя вы можете создать сертификат, который утверждает, что вы являетесь тем, кто вы есть, другие люди также могут делать сертификаты, которые требуют они являются кто вы.
    Поскольку один «самозаверяющий» сертификат так же хорош, как и следующий, чтобы положительно идентифицировать вас (I.E. никчемный), неизвестный автор JRE.
  2. Я не уверен, хотя я помню использование 5000 дней в предыдущих сертификатах. Возможно, настоящий вопрос заключается в том, как долго стоит утверждать, что вы есть кто вы, по свидетельству о том, что JRE никогда не доверяет достаточно, чтобы даже показать личность? Если это для коммерческого продукта, я настоятельно рекомендую сделать проверку (это может быть дорого). Это не повредит даже для широко распространенного бесплатного продукта.
+1

Не может не согласиться; подробнее [здесь] (http://stackoverflow.com/a/10739080/230513). – trashgod

2

Как отмечалось в keytoolValidity Period,

Каждый сертификат действителен только в течение ограниченного периода времени. Этот период описывается датой начала и временем и датой окончания и временем и может быть коротким, как несколько секунд или почти столько же, сколько столетие.

Как примечание @Andrew и @Robert, профессиональное программное обеспечение требует профессионально подписанного сертификата. Для случайного использования самозаверяющий сертификат может использоваться среди людей, которые используют другой канал доверия. Он также может помочь в отказе от ложного иска о неправильном назначении.

  • пишет программу с открытым исходным кодом, подписанный A.
  • B добавляет вредоносных программ и, не подписать, знаки B.
  • C ошибочно получает версию B и обвиняет A в преступлении.
  • A может подтвердить, что произошло несанкционированное вмешательство.