Плагин Webstart maven, updateManifestEntries и подпись кода PKCS11 взаимоисключающие

Я боролся с этим уже пару дней, и я считаю, что у меня есть обходной путь, но он очень дрянной.

Наш сертификат подписи кода находится в слоте HSM. Поэтому мы должны использовать PKCS11 для подписи.

Насколько я могу судить, в плагине maven webstart (бета-версия 4) отсутствует поддержка providerClass, providerArg и providerName. Это означает, что подписание PKCS11 не может происходить таким образом.

Отлично. Есть плагин jarsigner. Это прекрасно работает, чтобы подписывать банки.

Проблема в том, что теперь мы также должны использовать updateManifestEntries для добавления базы кода и записей разрешений в наш апплет webstart.

Ну, фактический код в плагине webstart для фактического выполнения обновления манифеста находится внутри

if (sign) { ... }

Так никогда не бывает.

Таким образом, мы должны иметь поддельный самозаверяющий сертификат и ключ и использовать его в конфигурации подписи плагина webstart, чтобы мы могли обновлять манифесты банок, а затем выбрасывать всю эту бесполезную работу и подписывать банки с помощью jarsigner. плагин.

КОНЕЧНО должен быть лучший способ!


person nsayer    schedule 03.05.2014    source источник
comment
Если вы предоставите SSCCE, оптимально на GitHub, люди смогут изучить проблему и воспроизвести ее.   -  person kriegaex    schedule 27.10.2014


Ответы (1)


Чтобы сделать ваш PKCS # 11 по умолчанию и передать ему аргумент, я думаю, вы могли бы сделать:

$JAVA_HOME/lib/secuirty/java.security:

security.provider.1=com.security.whateverPKCS11Provider whateverProviderArg1
person lossleader    schedule 02.11.2014
comment
Это непрактично для нашей автоматизированной среды сборки — по крайней мере, более непрактично, чем текущая машина Руба Голдберга. - person nsayer; 02.11.2014