nCipher с использованием сгенерированного KeySafe ключа AES в java

У нас есть ключ AES, сгенерированный с помощью KeySafe Utility, предоставленной nCipher. Как мы можем использовать этот ключ для шифрования данных? Можем ли мы создать хранилище ключей из сгенерированного ключа KeySafe?

Я нашел образец, создав пустое хранилище ключей и создав новый ключ из кода Java и сохранив его в хранилище ключей, но ничего не смог найти в KeySafe. Генерация нового ключа из java-кода для нас невозможна.


person Sumit Modi    schedule 06.07.2015    source источник


Ответы (1)


Ключи nCipher имеют тип приложения, который определяет, для какого из поддерживаемых API они были сгенерированы. Ключи для поставщика JCE имеют тип приложения jcecsp. KeySafe не может генерировать ключи jcecsp, поэтому у вас, вероятно, есть один из типов simple или pkcs11 или что-то в этом роде. У вас есть несколько вариантов:

  • Если у вас есть ключ pkcs11, вы можете использовать поставщик SunPKCS11, который поставляется с вашим JDK, для доступа к слотам PKCS#11 в качестве хранилища ключей. Google для этого провайдера и обратитесь в службу поддержки Thales за некоторыми советами по языку конфигурации.
  • Если ваш ключ не pkcs11 и вы хотите пойти указанным выше путем, вы можете переназначить свой ключ на pkcs11. На самом деле я не знаю, может ли KeySafe это сделать, но утилита generatekey из командной строки может.
  • Вы можете использовать API-интерфейсы Pure Java nCore и NFKM для прямого доступа к вашему ключу независимо от типа приложения. Если у вас есть CipherTools SDK, вы найдете достаточно примеров кода.
  • После загрузки с помощью собственного API вы можете преобразовать загруженный ключевой объект в ключевой объект JCE, который вы можете сохранить в хранилище ключей nCipher.sworld. В примере кода CipherTools есть пример Interop, который намекает на то, как вы можете это сделать.
  • Если фактический ключ не представляет для вас ценности (это означает, что вы хотите сгенерировать еще один, чтобы начать работу), используйте Java KeyTool для создания вашего ключа непосредственно в контексте хранилища ключей nCipher.sworld через поставщика nCipherKM. В руководстве по продукту показано, как правильно вызывать KeyTool. Вам даже не нужен SDK для этого.

Свяжитесь со службой поддержки Thales, если у вас возникнут какие-либо проблемы.

person Sander Temme    schedule 07.07.2015
comment
Спасибо, что поделились ответом. Согласно документации, сгенерированный ключ может импортировать только открытый ключ. generatekey может импортировать только ключи RSA. Ключ PEM, содержащий импортируемый ключ, не должен требовать фразы-пароля. Есть ли способ импортировать ключ pkcs # 11. - person Sumit Modi; 15.07.2015