У меня есть некоторые проблемы с использованием EJBCA, в следующем я опишу, что мне нужно сделать
У меня есть простой CA hierarechy, ROOTCA и один SUBCA.
ROOTCA будетбыть в автономном режиме (самоподписан), и его ключи будут храниться в слоте 1 модуля HSM.
SUBCA будет подключен к сети (подписан СА), а его ключи будут храниться в слоте 2 модуля HSM
- Перед установкой EJBCA я создал ROOTCA и SUBCA только с HSM, используя java-программу miniPKI -> Этот шаг сделан (я получил два сертификата)
- Установка EJBCA выполнена и тест подключенияс выполненным HSM
- Импорт ROOTCA (из графического интерфейса пользователя или cmdline) -> OK (крипто-токен не нужен, так как этот CA будет в автономном режиме)
-> Начиная оттудаЯ столкнулся с некоторыми трудностями. Моя идея состоит в том, чтобы попытаться импортировать SUBCA, а затем изменить криптокен SUBCA, чтобы указать на него криптокен, созданный ранее
Я пытаюсь импортировать SUBCA с помощью cmdline (дополнительные параметры) с помощью следующей команды:
. / Ejbca.sh ca importca --caname SUBCA --hard --cp org.cesecore.keys.token.PKCS11CryptoToken --prop hsm.properties --cert SUBCA.pem --ctpassword null
Но у меня есть это сообщение: Импорт жесткого токена.Crypto Token был отключен.
В логах ejbca у меня есть исключение:
Error initializing Crypto Token. Classpath=org.cesecore.keys.token.PKCS11CryptoToken: java.lang.NullPointerException
at org.cesecore.keys.token.p11.P11Slot.getInstance(P11Slot.java:159)
at org.cesecore.keys.token.PKCS11CryptoToken.init(PKCS11CryptoToken.java:107)
at org.cesecore.keys.token.CryptoTokenFactory.createCryptoToken(CryptoTokenFactory.java:177)
at org.cesecore.keys.token.CryptoTokenManagementSessionBean.createCryptoToken(CryptoTokenManagementSessionBean.java:151)
at org.cesecore.keys.token.CryptoTokenManagementSessionBean.createCryptoToken(CryptoTokenManagementSessionBean.java:193)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
Любая идея?
Спасибо за помощь.Хишам