Поставщик Java Sun PKCS # 11, маркер HSM ТРЕБУЕТСЯ флаг LOGIN REQUIRED и пустой список псевдонимов - PullRequest
0 голосов
/ 22 ноября 2011

Я Павел, и я в основном разработчик Java. Вот моя проблема:

Я пытаюсь перечислить псевдонимы в слоте HSM с помощью провайдера Java Sun PKCS # 11, и я получаю пустой список. Я пробовал это с Java 6 и 7 на платформах Windows XP / Server. Я скачал исходные коды Sun PKCS # 11 и изучил их, включил отладку, выполнил другие приемы, и в конце концов обнаружил, что карта псевдонимов пуста, поскольку у токена не установлен флаг LOGIN_REQUIRED. В реализации Sun PKCS # 11 существует одна конструкция IF, поэтому, когда этот флаг не установлен, даже байты ПИН предоставляются хранилищу ключей, вызов C_Login отсутствует! Я нахожу это странным! Может кто-нибудь объяснить мне, если это ошибка в реализации Sun поставщика PKCS # 11 или есть общая идея? В любом случае, когда я «взламываю» исходные источники, поэтому, если есть предоставленный ПИН-код, это делает входной токен опцией, независимо от того, установлен флаг LOGIN_REQUIRED или нет, и я получил псевдонимы от токена!

1 Ответ

0 голосов
/ 22 ноября 2011

Это верно, поставщик Sun PKCS # 11 пытается найти все закрытые ключи, которые видны публично (без входа в систему) при поиске псевдонимов.После этого он попытается найти жизнеспособную цепочку сертификатов для закрытых ключей (сначала по идентификатору PKCS # 11, а затем по издателю X509).

Понятия не имею почему, но мне кажется,что поставщик PKCS # 11 начал работать в то же время, когда был представлен процессор Sparc T1 (Niagara), который содержит криптографический процессор.Sun / Oracle никогда не предоставляла данных о совместимости - я полагаю, что их основной задачей было заставить T1 работать в Java - это, однако, предположение.Единственный способ узнать наверняка, что спросить.

Если вы хотите иметь лучшего поставщика, вы можете взглянуть на программное обеспечение IAIK (чья реализация с открытым исходным кодом более низкого уровня используется Sun / Oracle).Они предоставляют поддержку и заявления о совместимости.Это, однако, коммерческий продукт.

Или вы можете принять ваш патч, мне, безусловно, будет интересна опция для входа в систему до поиска доступных закрытых ключей с помощью PKCS #11 FindObjects.Если вы отправите сообщение об ошибке, я обязательно за него проголосую.

...