У меня проблема с Java приложениями (запускаемыми через JNLP), заблокированными из-за истекшего сертификата подписи кода.
Срок действия сертификата подписи кода истекает: 2020-10-01
Приложения подписываются следующим образом:
<?xml version="1.0" encoding="UTF-8" ?>
<project name="maven-antrun-signing" default="main">
<target name="main">
<signjar
keypass="KEYPASS"
storepass="SECRET_PASSWORD"
alias="ALIAS_NAME_2020"
tsaurl="http://timestamp.digicert.com"
keystore="C:\development\certificate\2018.keystore"
verbose="true">
<fileset includes="**/*.jar" dir="."/>
</signjar>
</target>
</project>
Теперь все работает нормально - приложения запускаются через JNLP, сервер работает нормально. Но когда я изменяю время клиентского компьютера на будущее (например, 2020-12-01), у меня возникают проблемы:
Приложение заблокировано в целях безопасности Не удалось проверить сертификат. Приложение не будет запущено.
Сейчас я не понимаю, что я думал, что TSA (tsaurl = "http://timestamp.digicert.com") должен решить эту проблему, поскольку в момент подписания сертификата действительно.
Разве это не правда? Или я использую это неправильно?
Что я могу изменить, чтобы избавиться от этого (настройка исключения для домена, доставляющего JNLP, не является вариантом)? Может ли на сервере быть подписка на лету?