Spec-Zone .ru
спецификации, руководства, описания, API
|
SunPKCS11
ПровайдерSUN
ПровайдерSunRsaSign
ПровайдерSunJSSE
ПровайдерSunJCE
ПровайдерSunJGSS
ПровайдерSunSASL
ПровайдерXMLDSig
ПровайдерSunPCSC
ПровайдерSunMSCAPI
ПровайдерSunEC
ПровайдерОтметьте: Документация Стандартных имен содержит больше информации о стандартных именах, используемых в этом документе.
Платформа Java определяет ряд API, охватывающих главные области безопасности, включая криптографию, инфраструктуру управления открытыми ключами, аутентификацию, безопасную передачу, и управление доступом. Эти API позволяют разработчикам легко интегрировать механизмы безопасности в свой код программы. Архитектура Криптографии Java (JCA) и его Архитектура Провайдера являются базовым понятием Комплекта разработчика для Java (JDK). Это - принятые читатели, имеют основательное понимание этой архитектуры.
Этот документ описывает технические детали провайдеров, поставленных как часть Среды Java Oracle.
getInstance("...", "SunJCE"); // not recommended vs. getInstance("..."); // recommendedИначе, приложения связываются к определенным провайдерам, которые, возможно, не доступны на других реализациях Java. Они также не могли бы быть в состоянии использовать в своих интересах доступных оптимизированных провайдеров (например, аппаратные акселераторы через PKCS11 или собственные реализации ОС, такие как MSCAPI Microsoft), у которых есть более высокий привилегированный порядок чем определенный требуемый провайдер.
Должный импортировать инструкции в некоторых странах, реализация Oracle обеспечивает криптографический файл политики юрисдикции по умолчанию, который ограничивает силу криптографических алгоритмов. Вот максимальные размеры ключа, позволенные этой "сильной" версией файлов политики юрисдикции:
Алгоритм | Максимальный Размер ключа |
---|---|
DES | 64 |
DESede | * |
RC2 | 128 |
RC4 | 128 |
RC5 | 128 |
RSA | * |
все другие | 128 |
Если более сильные алгоритмы необходимы (например, AES с 256-разрядными ключами),
Это - обязанность пользователя проверить, что это действие допустимо в соответствии с местными постановлениями.
SunPKCS11
ПровайдерКриптографический Маркерный Стандарт Интерфейса (SunPKCS11
провайдер позволяет приложениям использовать стандартные API JCA/JCE, чтобы получить доступ собственный PKCS#11 библиотеки. SunPKCS11
сам провайдер не содержит криптографическую функциональность, это - просто кабелепровод между средой Java и собственными провайдерами PKCS11. У Java PKCS#11 Справочник есть намного более подробная обработка этого провайдера.
SUN
ПровайдерJDK 1.1 представлял Provider
архитектура. Первого провайдера JDK назвали SUN
, и содержавший два типа криптографических служб (MessageDigest
s и Signature
s). В более поздних выпусках были добавлены другие механизмы (SecureRandom
генераторы чисел, KeyPairGenerator
s, KeyFactory
s, и так далее.).
Инструкции экспорта Соединенных Штатов в действительности в это время установленные существенные ограничения для типа криптографической функциональности, которая могла быть сделана доступной на международном уровне в JDK. Поэтому SUN
провайдер исторически содержал криптографические механизмы, которые непосредственно не шифровали или дешифровали данные.
Следующие алгоритмы доступны в SUN
провайдер:
Механизм | Имена алгоритма |
---|---|
AlgorithmParameterGenerator |
DSA |
AlgorithmParameters |
DSA |
CertificateFactory |
X.509 |
CertPathBuilder |
PKIX |
CertPathValidator |
PKIX |
CertStore |
Набор LDAP |
Configuration |
JavaLoginConfig |
KeyFactory |
DSA |
KeyPairGenerator |
DSA |
KeyStore |
JKS |
MessageDigest |
MD2 MD5 SHA 1 SHA 256 SHA 384 SHA 512 |
Policy |
JavaPolicy |
SecureRandom |
SHA1PRNG |
Signature |
NONEwithDSA SHA1withDSA |
SUN
провайдер использует следующие размеры ключа по умолчанию (в битах) и осуществляет следующие ограничения:
KeyPairGenerator
Alg. Имя | Размер ключа по умолчанию | Ограничения/Комментарии |
---|---|---|
DSA | 1024 | Размер ключа должен быть кратным числом 64, в пределах от 512 - 1024 (включительно). |
AlgorithmParameterGenerator
Alg. Имя | Размер ключа по умолчанию | Ограничения/Комментарии |
---|---|---|
DSA | 1024 | Размер ключа должен быть кратным числом 64, в пределах от 512 - 1024 (включительно). |
CertificateFactory
/CertPathBuilder
/ CertPathValidator
/CertStore
РеализацииДополнительные детали о SUN
реализации провайдера для CertificateFactory
, CertPathBuilder
, CertPathValidator
и CertStore
документируются в Приложение B Руководства Программиста PKI.
SunRsaSign
Провайдер SunRsaSign
провайдер был представлен в JDK 1.3 как улучшенная замена для подписей RSA в SunJSSE
провайдер.
Следующие алгоритмы доступны в SunRsaSign
провайдер:
Механизм | Имена алгоритма |
---|---|
KeyFactory |
RSA |
KeyPairGenerator |
RSA |
Signature |
MD2withRSA MD5withRSA SHA1withRSA SHA256withRSA SHA384withRSA SHA512withRSA |
SunRsaSign
провайдер использует следующий размер ключа по умолчанию (в битах) и осуществляет следующее ограничение:
KeyPairGenerator
Alg. Имя | Размер ключа по умолчанию | Ограничения/Комментарии |
---|---|---|
RSA | 1024 | Размер ключа должен расположиться между 512 и 65536 битами, последний которых является излишне крупным. |
SunJSSE
ПровайдерРасширение Защищенного сокета Java (JSSE) было первоначально выпущено как отдельный "Дополнительный Пакет" (также кратко известный как "Стандартное Расширение"), и было доступно для JDK 1.2.n и 1.3.n. SunJSSE
провайдер был представлен как часть этого выпуска.
В более ранних выпусках JDK не было никаких провайдеров подписи RSA, доступных в JDK, поэтому SunJSSE
должен был обеспечить его собственную реализацию RSA, чтобы использовать обычно доступные RSA-на-основе сертификаты. JDK 5 представлял SunRsaSign
провайдер, который обеспечивает всю функциональность (и больше) SunJSSE
провайдер. Приложения, предназначенные в JDK 5.0 и позже, должны запросить экземпляры SunRsaSign
провайдер вместо этого. Для обратной совместимости алгоритмы RSA все еще доступны через этого провайдера, но фактически реализуются в SunRsaSign
провайдер.
Следующие алгоритмы доступны в SunJSSE
провайдер:
Механизм | Имя (ена) алгоритма |
---|---|
KeyFactory |
|
KeyManagerFactory |
|
KeyPairGenerator |
|
KeyStore |
|
Signature |
|
SSLContext |
|
TrustManagerFactory |
|
SunJSSE
поддерживает следующий protocol
параметры:
Протокол | Включенный по умолчанию для Клиента | Включенный по умолчанию для Сервера |
---|---|---|
SSLv3 | Да | Да |
TLSv1 | Да | Да |
TLSv1.1 | Нет | Да |
TLSv1.2 | Нет | Да |
SSLv2Hello | Нет | Нет |
Хотя SunJSSE
в Java SE 7 выпусков поддерживают TLS 1.1 и TLS 1.2, никакая версия не включается по умолчанию для клиентских соединений. Некоторые серверы не реализуют прямую совместимость правильно и отказываются говорить с TLS 1.1 или TLS 1.2 клиента. Для функциональной совместимости, SunJSSE
не включает TLS 1.1 или TLS 1.2 по умолчанию для клиентских соединений.
У соединений сервера нет такой проблемы функциональной совместимости. TLS 1.1 и TLS 1.2 включаются по умолчанию для соединений сервера.
SSLv3, TLSv1, и протоколы TLSv1.1 позволяют Вам отправлять SSLv3, TLSv1, и TLSv1.1 hellos инкапсулировавший в формате SSLv2 привет. В Java SE 7 выпусков эта поддержка все еще присутствует, но отключается по умолчанию.
SunJSSE
поддерживает большое количество комплектов шифра. Две таблицы, которые следуют за шоу комплекты шифра, поддерживаемые SunJSSE в привилегированном порядке и выпуском, в котором они были представлены.
Первая таблица приводит комплекты шифра, которые являются включением по умолчанию. Вторая таблица показывает комплекты шифра, которые поддерживаются SunJSSE, но отключаются по умолчанию.
Комплект шифра | J2SE v1.4 | J2SE v1.4.1, v1.4.2 | J2SE 5.0 | Java SE 6 | Java SE 7 |
---|---|---|---|---|---|
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 |
X1 | ||||
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 |
X1 | ||||
TLS_RSA_WITH_AES_256_CBC_SHA256 |
X1 | ||||
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 |
X1 | ||||
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 |
X1 | ||||
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 |
X1 | ||||
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 |
X1 | ||||
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA |
X | X | |||
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA |
X | X | |||
TLS_RSA_WITH_AES_256_CBC_SHA |
X | X | X | X | |
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA |
X | X | |||
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA |
X | X | |||
TLS_DHE_RSA_WITH_AES_256_CBC_SHA |
X | X | X | X | |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA |
X | X | X | X | |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 |
X1 | ||||
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
X1 | ||||
TLS_RSA_WITH_AES_128_CBC_SHA256 |
X1 | ||||
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 |
X1 | ||||
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 |
X1 | ||||
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 |
X1 | ||||
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 |
X1 | ||||
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA |
X | X | |||
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA |
X | X | |||
TLS_RSA_WITH_AES_128_CBC_SHA |
X | X | X | X | |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA |
X | X | |||
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA |
X | X | |||
TLS_DHE_RSA_WITH_AES_128_CBC_SHA |
X | X | X | X | |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA |
X | X | X | X | |
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA |
X | X | |||
TLS_ECDHE_RSA_WITH_RC4_128_SHA |
X | X | |||
SSL_RSA_WITH_RC4_128_SHA |
X | X | X | X | X |
TLS_ECDH_ECDSA_WITH_RC4_128_SHA |
X | X | |||
TLS_ECDH_RSA_WITH_RC4_128_SHA |
X | X | |||
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA |
X | X | |||
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA |
X | X | |||
SSL_RSA_WITH_3DES_EDE_CBC_SHA |
X | X | X | X | X |
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA |
X | X | |||
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA |
X | X | |||
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA |
X | X | X | X | |
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA |
X | X | X | X | X |
SSL_RSA_WITH_RC4_128_MD5 |
X | X | X | X | X |
TLS_EMPTY_RENEGOTIATION_INFO_SCSV 2 |
1.4.2u28 + | u26 + | u22 + | X |
1 комплект Шифра с SHA384 и SHA256 доступен только для TLS 1.2 или позже.
2 TLS_EMPTY_RENEGOTIATION_INFO_SCSV
новый комплект псевдошифра, чтобы поддерживать RFC 5746. См. Безопасность Транспортного уровня (TLS) раздел Проблемы Пересмотра Справочника JSEE для получения дополнительной информации.
Комплект шифра | J2SE v1.4 | J2SE v1.4.1, v1.4.2 | J2SE 5.0 | Java SE 6 | Java SE 7 |
---|---|---|---|---|---|
TLS_DH_anon_WITH_AES_256_CBC_SHA256 |
X | ||||
TLS_ECDH_anon_WITH_AES_256_CBC_SHA |
X | X | |||
TLS_DH_anon_WITH_AES_256_CBC_SHA |
X | X | X | X | |
TLS_DH_anon_WITH_AES_128_CBC_SHA256 |
X | ||||
TLS_ECDH_anon_WITH_AES_128_CBC_SHA |
X | X | |||
TLS_DH_anon_WITH_AES_128_CBC_SHA |
X | X | X | X | |
TLS_ECDH_anon_WITH_RC4_128_SHA |
X | X | |||
SSL_DH_anon_WITH_RC4_128_MD5 |
X | X | X | X | X |
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA |
X | X | |||
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA |
X | X | X | X | X |
TLS_RSA_WITH_NULL_SHA256 |
X | ||||
TLS_ECDHE_ECDSA_WITH_NULL_SHA |
X | X | |||
TLS_ECDHE_RSA_WITH_NULL_SHA |
X | X | |||
SSL_RSA_WITH_NULL_SHA |
X | X | X | X | X |
TLS_ECDH_ECDSA_WITH_NULL_SHA |
X | X | |||
TLS_ECDH_RSA_WITH_NULL_SHA |
X | X | |||
TLS_ECDH_anon_WITH_NULL_SHA |
X | X | |||
SSL_RSA_WITH_NULL_MD5 |
X | X | X | X | X |
SSL_RSA_WITH_DES_CBC_SHA |
X | X | X | X | X1 |
SSL_DHE_RSA_WITH_DES_CBC_SHA |
X | X | X | X1 | |
SSL_DHE_DSS_WITH_DES_CBC_SHA |
X | X | X | X | X1 |
SSL_DH_anon_WITH_DES_CBC_SHA |
X | X | X | X | X1 |
SSL_RSA_EXPORT_WITH_RC4_40_MD5 |
X | X | X | X | X2 |
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 |
X | X | X | X | X2 |
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA |
X | X | X | X2 | |
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA |
X | X | X | X2 | |
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA |
X | X | X | X | X2 |
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA |
X | X | X | X | X2 |
TLS_KRB5_WITH_RC4_128_SHA |
X | X | X | ||
TLS_KRB5_WITH_RC4_128_MD5 |
X | X | X | ||
TLS_KRB5_WITH_3DES_EDE_CBC_SHA |
X | X | X | ||
TLS_KRB5_WITH_3DES_EDE_CBC_MD5 |
X | X | X | ||
TLS_KRB5_WITH_DES_CBC_SHA |
X | X | X1 | ||
TLS_KRB5_WITH_DES_CBC_MD5 |
X | X | X1 | ||
TLS_KRB5_EXPORT_WITH_RC4_40_SHA |
X | X | X2 | ||
TLS_KRB5_EXPORT_WITH_RC4_40_MD5 |
X | X | X2 | ||
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA |
X | X | X2 | ||
TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 |
X | X | X2 |
1
2
Комплекты шифра, которые используют AES_256, требуют установки Неограниченных Файлов Политики Юрисдикции Силы JCE. См. Пределы Импорта на Криптографических алгоритмах.
Комплекты шифра, которые используют Шифрование в эллиптических кривых (ECDSA, ECDH, ECDHE, ECDH_anon) требуют криптографического провайдера JCE, который удовлетворяет следующие требования:
Провайдер должен реализовать ECC как определено классами и интерфейсами в пакетах java.security.spec
и java.security.interfaces
. getAlgorithm()
метод ключевых объектов эллиптической кривой должен возвратить строку "EC".
Провайдер должен поддерживать Signature
алгоритмы SHA1withECDSA и NONEwithECDSA, KeyAgreement
алгоритм ECDH, и a KeyPairGenerator
и a KeyFactory
для алгоритма EC. Если один из этих алгоритмов будет отсутствовать, то SunJSSE не будет позволять комплектам шифра EC использоваться.
Провайдер должен поддерживать все кривые SECG, на которые ссылаются в спецификации namedCurve
выбор, то есть, используя объектный идентификатор.
Если эти требования не удовлетворяются, комплекты шифра EC не могут быть согласованы правильно.
До Java SE 7 выпусков реализация SSL/TLS не проверяла номер версии в PreMasterSecret, и клиент SSL/TLS не отправлял корректный номер версии по умолчанию. Если системное свойство com.sun.net.ssl.rsaPreMasterSecretFix
устанавливается в true
, клиент TLS отправляет активную согласованную версию, но не ожидаемую максимальную версию, поддерживаемую клиентом.
Для совместимости это поведение сохраняется для версии 3.0 SSL и версии 1.0 TLS. Однако, для версии 1.1 TLS или позже, реализация сжимает проверку номеров версий PreMasterSecret как требуется com.sun.net.ssl.rsaPreMasterSecretFix
, не используется в TLS 1.1 или позже.
SunJCE
ПровайдерКак описано кратко в SUN
Провайдер, инструкции экспорта US в то время, когда ограничено тип криптографической функциональности, которая могла быть сделана доступной в JDK. Отдельный API и ссылочная реализация были разработаны, который позволил приложениям шифровать/дешифровать данные. Java Криптографическое Расширение (JCE) было выпущено как отдельный "Дополнительный Пакет" (также кратко известный как "Стандартное Расширение"), и было доступно для JDK 1.2.x и 1.3.x. Во время разработки JDK 1.4, инструкции были ослаблены достаточно, что JCE (и SunJSSE) мог быть связан как часть JDK.
Следующие алгоритмы доступны в провайдере SunJCE:
Механизм | Имена алгоритма |
---|---|
AlgorithmParameterGenerator |
DiffieHellman |
AlgorithmParameters |
AES Шифр DES DESede DiffieHellman OAEP PBEWithMD5AndDES PBEWithMD5AndTripleDES PBEWithSHA1AndDESede PBEWithSHA1AndRC2_40 RC2 |
Cipher |
См. таблицу Шифра. |
KeyAgreement |
DiffieHellman |
KeyFactory |
DiffieHellman |
KeyGenerator |
AES ARCFOUR Шифр DES DESede HmacMD5 HmacSHA1 HmacSHA256 HmacSHA384 HmacSHA512 RC2 |
KeyPairGenerator |
DiffieHellman |
KeyStore |
JCEKS |
Mac |
HmacMD5 HmacSHA1 HmacSHA256 HmacSHA384 HmacSHA512 |
SecretKeyFactory |
DES DESede PBEWithMD5AndDES PBEWithMD5AndTripleDES PBEWithSHA1AndDESede PBEWithSHA1AndRC2_40 PBKDF2WithHmacSHA1 |
Следующая таблица приводит алгоритмы шифра, доступные в провайдере SunJCE.
Имя алгоритма | Режимы | Paddings |
---|---|---|
AES | ECB, CBC, PCBC, CTR, CTS, CFB, CFB8.. CFB128, OFB, OFB8.. OFB128 | NOPADDING, PKCS5PADDING, ISO10126PADDING |
AESWrap | ECB | NOPADDING |
ARCFOUR | ECB | NOPADDING |
Шифр, DES, DESede, RC2 | ECB, CBC, PCBC, CTR, CTS, CFB, CFB8.. CFB64, OFB, OFB8.. OFB64 | NOPADDING, PKCS5PADDING, ISO10126PADDING |
DESedeWrap | CBC | NOPADDING |
PBEWithMD5AndDES, PBEWithMD5AndTripleDES1 PBEWithSHA1AndDESede, PBEWithSHA1AndRC2_40 | CBC | PKCS5Padding |
RSA | ECB | NOPADDING, PKCS1PADDING, OAEPWITHMD5ANDMGF1PADDING, OAEPWITHSHA1ANDMGF1PADDING, OAEPWITHSHA-1ANDMGF1PADDING, OAEPWITHSHA-256ANDMGF1PADDING, OAEPWITHSHA-384ANDMGF1PADDING, OAEPWITHSHA-512ANDMGF1PADDING |
1 PBEWithMD5AndTripleDES является собственным алгоритмом, который не был стандартизирован.
Провайдер SunJCE использует следующие размеры ключа по умолчанию (в битах) и осуществляет следующие ограничения:
KeyGenerator
Имя алгоритма | Размер ключа по умолчанию | Ограничения/Комментарии |
---|---|---|
AES | 128 | Размер ключа должен быть равным 128, 192, или 256. |
ARCFOUR (RC4) | 128 | Размер ключа должен расположиться между 40 и 1024 (включительно). |
Шифр | 128 | Размер ключа должен быть кратным числом 8, в пределах от 32 - 448 (включительно). |
DES | 56 | Размер ключа должен быть равным 56. |
DESede (Тройной DES) | 168 | Размер ключа должен быть равным 112 или 168. Размер ключа 112 генерирует Тройной ключ DES с 2 промежуточными ключами, и размер ключа 168 генерирует Тройной ключ DES с 3 промежуточными ключами. Из-за проблемы "встречаются В Середине", даже при том, что 112 или 168 битов ключевого материала используются, эффективный размер ключа составляет 80 или 112 битов соответственно. |
HmacMD5 | 512 | Никакое ограничение размера ключа. |
HmacSHA1 | 512 | Никакое ограничение размера ключа. |
HmacSHA256 | 256 | Никакое ограничение размера ключа. |
HmacSHA384 | 384 | Никакое ограничение размера ключа. |
HmacSHA512 | 512 | Никакое ограничение размера ключа. |
RC2 | 128 | Размер ключа должен расположиться между 40 и 1024 (включительно). |
ОТМЕТЬТЕ: различное Основанное на пароле Шифрование (PBE), алгоритмы используют различные алгоритмы, чтобы генерировать ключевые данные, и в конечном счете зависят от предназначенного алгоритма Шифра. Например, "PBEWithMD5AndDES" будет всегда генерировать 56-разрядные ключи.
KeyPairGenerator
Имя алгоритма | Размер ключа по умолчанию | Ограничения/Комментарии |
---|---|---|
Diffie-Hellman (DH) | 1024 | Размер ключа должен быть кратным числом 64, в пределах от 512 - 1024 (включительно). |
AlgorithmParameterGenerator
Alg. Имя | Размер ключа по умолчанию | Ограничения/Комментарии |
---|---|---|
Diffie-Hellman (DH) | 1024 | Размер ключа должен быть кратным числом 64, в пределах от 512 - 1024 (включительно). |
DSA | 1024 | Размер ключа должен быть кратным числом 64, в пределах от 512 - 1024 (включительно). |
SunJGSS
ПровайдерСледующие алгоритмы доступны в SunJGSS
провайдер:
OID | Имя |
---|---|
1.2.840.113554.1.2.2 |
Kerberos v5 |
1.3.6.1.5.5.2 |
SPNEGO |
SunSASL
ПровайдерСледующие алгоритмы доступны в SunSASL
провайдер:
Механизм | Имена алгоритма |
---|---|
SaslClient |
CRAM-MD5 ОБЗОР-MD5 ВНЕШНИЙ GSSAPI ПЛОСКОСТЬ |
SaslServer |
CRAM-MD5 ОБЗОР-MD5 GSSAPI |
XMLDSig
ПровайдерСледующие алгоритмы доступны в XMLDSig
провайдер:
Механизм | Имена алгоритма |
---|---|
KeyInfoFactory |
ДОМ |
TransformService |
http://www.w3.org/TR/2001/REC-xml-c14n-20010315 - (CanonicalizationMethod.INCLUSIVE )http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments - ( CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS )http://www.w3.org/2001/10/xml-exc-c14n# - ( CanonicalizationMethod.EXCLUSIVE )http://www.w3.org/2001/10/xml-exc-c14n#WithComments - ( CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS )http://www.w3.org/2000/09/xmldsig#base64 - ( Transform.BASE64 )http://www.w3.org/2000/09/xmldsig#enveloped-signature - ( Transform.ENVELOPED )http://www.w3.org/TR/1999/REC-xpath-19991116 - ( Transform.XPATH )http://www.w3.org/2002/06/xmldsig-filter2 - ( Transform.XPATH2 )http://www.w3.org/TR/1999/REC-xslt-19991116 - ( Transform.XSLT ) |
XMLSignatureFactory |
ДОМ |
SunPCSC
ПровайдерПровайдер SunPCSC позволяет приложениям использовать API ввода-вывода Смарт-карты Java, чтобы взаимодействовать со стеком Смарт-карты PC/SC базовой операционной системы. На некоторых операционных системах может быть необходимо включить и сконфигурировать стек PC/SC прежде, чем это будет применимо. Консультируйтесь со своей документацией операционной системы для деталей.
На Солярисе и платформах Linux, SunPCSC получает доступ к стеку PC/SC через libpcsclite.so
библиотека. Это ищет эту библиотеку в каталогах /usr/$LIBISA
и /usr/local/$LIBISA
, где $LIBISA
расширяется до lib
на 32-разрядных платформах, lib/64
на 64-разрядных платформах Соляриса, и lib64
на 64-разрядных платформах Linux. Системное свойство sun.security.smartcardio.library
май также быть установленным в полное имя файла альтернативы libpcsclite.so
реализация. На платформах Windows SunPCSC всегда вызывает в winscard.dll
и никакая конфигурация на уровне Java не необходима или возможна.
Если PC/SC доступен на платформе узла, реализация SunPCSC может быть получена через TerminalFactory.getDefault()
и TerminalFactory.getInstance("PC/SC")
. Если PC/SC не доступен или не правильно сконфигурированный, a getInstance()
вызов перестанет работать с a NoSuchAlgorithmException
и getDefault()
возвратит встроенную реализацию JRE, которая не поддерживает терминалов.
Следующие алгоритмы доступны в SunPCSC
провайдер:
Механизм | Имена алгоритма |
---|---|
TerminalFactory |
PC/SC |
SunMSCAPI
ПровайдерПровайдер SunMSCAPI позволяет приложениям использовать стандартные API JCA/JCE, чтобы получить доступ к собственным криптографическим библиотекам, хранилищам сертификатов и ключевым контейнерам на платформе Microsoft Windows. Провайдер самого SunMSCAPI не содержит криптографическую функциональность, это - просто кабелепровод между средой Java и собственными криптографическими службами на Windows.
Следующие алгоритмы доступны в SunMSCAPI
провайдер:
Механизм | Имена алгоритма |
---|---|
Cipher |
RSA RSA/ECB/PKCS1Padding только |
KeyPairGenerator |
RSA |
KeyStore |
Windows - МОЙ Тип keystore, который идентифицирует собственный Microsoft Windows МОЙ keystore. Это содержит персональные сертификаты пользователя и связанные закрытые ключи. Корень WindowsТип keystore, который идентифицирует собственный Microsoft Windows ROOT keystore. Это содержит сертификаты о Корневых центрах сертификации и другие самоподписанные доверяемые сертификаты. |
SecureRandom |
Windows-PRNG Имя собственной генерации псевдослучайного числа (PRNG) алгоритм. |
Signature |
MD5withRSA MD2withRSA NONEwithRSA SHA1withRSA SHA256withRSA SHA384withRSA SHA512withRSA |
Провайдер SunMSCAPI использует следующие размеры ключа по умолчанию (в битах), и осуществите следующие ограничения:
KeyGenerator
Alg. Имя | Размер ключа по умолчанию | Ограничения/Комментарии |
---|---|---|
RSA | 1024 | Размер ключа колеблется от 512 битов до 16 384 битов (в зависимости от базового провайдера криптографических служб Microsoft Windows). |
SunEC
ПровайдерПровайдер SunEC реализует Эллиптическую Криптографию Кривой (ECC). ECC появляется в качестве привлекательной криптографической системы с открытым ключом для мобильных/беспроводных и других сред. По сравнению с традиционными криптографическими системами как RSA ECC предлагает эквивалентную безопасность с меньшими размерами ключа, которая приводит к более быстрым вычислениям, более низкому расходу энергии, так же как сбережениям пропускной способности и памяти.
Приложения могут теперь использовать стандартные API JCA/JCE, чтобы получить доступ к функциональности ECC без зависимости от внешних библиотек ECC (через SunPKCS11), как имел место в JDK 6 выпусков.
Следующие алгоритмы доступны в SunEC
провайдер:
Механизм | Имя (ена) алгоритма |
---|---|
AlgorithmParameters |
EC |
KeyAgreement |
ECDH |
KeyFactory |
EC |
KeyPairGenerator |
EC |
Signature |
NONEwithECDSA SHA1withECDSA SHA256withECDSA SHA384withECDSA SHA512withECDSA |
Провайдер SunEC использует следующие размеры ключа по умолчанию (в битах) и осуществляет следующие ограничения:
KeyPairGenerator
Alg. Имя | Размер ключа по умолчанию | Ограничения/Комментарии |
---|---|---|
EC | 256 | Размер ключа должен колебаться от 112 до 571 (включительно). |