KeyFactory – основной класс платформы Java для работы с
криптографическими ключами. Набор реализаций для этой фабрики подключается с помощью механизма
SPI.
Существует большое разнообразие алгоритмов шифрования: DSA, RSA, и другие. Строка-название нужного алгоритма поставляется в фабрику ключей при её создании.
KeyFactory занимается конвертацией
спецификации ключа в сам публичный или приватный
ключ, и обратно.
Спецификация, объект интерфейса
KeySpec, – входные данные ключа. Это может быть например модуль и экспонента приватного ключа
RSA.
Сами внутренние представления ключей реализуют интерфейсы
PublicKey и
PrivateKey – наследники общего
Key.
Для каждого конкретного типа ключа используются соответствующие им классы-реализации интерфейсов.