Криптопровайдер LCJCEКриптопровайдер LCJCE (JavaTM Cryptography Extension) написан на «чистой» Java и не зависит от других криптопровайдеров. Он реализует российские алгоритмы криптографических преобразований в соответствии со следующими стандартами:
Криптопровайдер LCJCE построен в соответствии с требованиями Java Cryptography Architecture (JCA). Java Cryptography Architecture (JCA) обеспечивает:
Независимость реализации и независимость алгоритмов в JCA
взаимосвязаны и дополняют друг друга. Независимость алгоритмов достигается
путем определения типов криптографических служб – «engines», и
определения классов, которые обеспечивают функционал данных служб. Эти классы в
JCA называются
engine classes
- механизмы. Примерами механизмов являются MessageDigest, Signature, KeyFactory, KeyPairGenerator. Независимость реализации достигается использованием
архитектуры на основе провайдеров криптографических служб. Провайдером является
пакет или набор пакетов, реализующих одну или несколько криптографических
служб. Приложения могут просто вызывать определенный тип объекта ( например,
объект Signature) реализованный одним из установленных провайдеров. Провайдеры
могут обновляться независимо от приложений, их использующих. Совместимость реализации означает, что разные провайдеры, реализующие одинаковые алгоритмы, могут использоваться разными приложениями и результаты их работы будут совместимыми. Расширяемость алгоритмов означает возможность добавления
поддержки провайдерами новых алгоритмов без переделки имеющихся приложений. Криптографические службы определены абстрактным образом
без реализации механизмов. Криптографическая служба всегда связана с
определенным алгоритмом или типом и, либо выполняет криптографическую операцию
(подпись, хэш), либо вырабатывает криптоматериал (ключи, параметры), либо
создает объекты, в которых хранятся ключи защищенным образом. Следующие механизмы реализованы в криптопровайдере LCJCE: MessageDigest Signature KeyPairGenerator KeyFactory KeyStore AlgorithmParameters SecureRandom Cipher MAC Классы механизмов предоставляют интерфейс к
функционалу криптографической службы определенного типа независимо от
конкретного алгоритма. Они определяют интерфейс, который позволяет приложениям
использовать криптографические службы. Идентификаторы объектов используются для определения
криптоалгоритмов и их параметров. В некоторых случаях JCA выбирает реализацию
криптоалгоритма на основе идентификатора алгоритма полученного, например, из
сертификата. Так, для проверки подписи сертификата X.509 на основе
идентификатора алгоритма подписи из установленных криптопровайдеров выбирается
и инициализируется соответствующий алгоритм проверки подписи. Для того, чтобы JCA могла определить поддерживаемые провайдером алгоритмы, в нем должны быть определены отображения OID в соответствующие алгоритмы и наоборот. Документация
| ||||||
© 2002-2018. ООО "ЛИССИ-Софт". Все права защищены Телефон: +7(495) 589-99-53 Техническая поддержка: +7(499) 110-90-40 E-mail: [email protected] |