|
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 обеспечивает значение по умолчанию криптографический файл политики юрисдикции, который ограничивает силу криптографических алгоритмов. Вот максимальные размеры ключа, позволенные этой версией "strong" файлов политики юрисдикции:
| Алгоритм | Максимальный Размер ключа |
|---|---|
| DES | 64 |
| DESede | * |
| RC2 | 128 |
| RC4 | 128 |
| RC5 | 128 |
| RSA | * |
| все другие | 128 |
Если более сильные алгоритмы необходимы (например, AES с 256-разрядными ключами), должны быть получены и установлены в JDK/JRE.
Это - обязанность пользователя проверить, что это действие допустимо в соответствии с местными постановлениями.
SunPKCS11 ПровайдерКриптографический Маркерный Стандарт Интерфейса () обеспечивает собственные интерфейсы программирования для криптографических механизмов, таких как аппаратные средства криптографические акселераторы и Смарт-карты. Когда должным образом конфигурирующийся, SunPKCS11 провайдер позволяет приложениям использовать стандартные API JCA/JCE, чтобы получить доступ собственный PKCS#11 библиотеки. SunPKCS11 сам провайдер не содержит криптографическую функциональность, это - просто кабелепровод между средой Java и собственными провайдерами PKCS11. У Java PKCS#11 Справочник есть намного более подробная обработка этого провайдера.
SUN ПровайдерJDK 1.1 представлял Provider архитектура. Первого провайдера JDK назвали SUN, и содержавший два типа криптографических служб (MessageDigests и Signatures). В более поздних выпусках были добавлены другие механизмы (SecureRandom генераторы чисел, KeyPairGenerators, KeyFactorys, и так далее.).
Инструкции экспорта Соединенных Штатов в действительности в это время установленные существенные ограничения для типа криптографической функциональности, которая могла быть сделана доступной на международном уровне в 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 | Нет | Да |
| Нет | Да | |
| Сноска 1 TLSv1.2 | Нет | Да |
| Сноска 2 SSLv2Hello | Нет | Да |
Сноска 1Although 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 включаются по умолчанию для соединений сервера.
Сноска 2The SSLv3, TLSv1, и протоколы TLSv1.1 позволяют Вам отправлять SSLv3, TLSv1, и TLSv1.1 hellos инкапсулировавший в формате SSLv2 привет.
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 |
XFootnote 1 | ||||
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 |
XFootnote 1 | ||||
TLS_RSA_WITH_AES_256_CBC_SHA256 |
XFootnote 1 | ||||
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 |
XFootnote 1 | ||||
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 |
XFootnote 1 | ||||
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 |
XFootnote 1 | ||||
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 |
XFootnote 1 | ||||
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 |
XFootnote 1 | ||||
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
XFootnote 1 | ||||
TLS_RSA_WITH_AES_128_CBC_SHA256 |
XFootnote 1 | ||||
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 |
XFootnote 1 | ||||
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 |
XFootnote 1 | ||||
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 |
XFootnote 1 | ||||
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 |
XFootnote 1 | ||||
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 | XFootnote 1 |
SSL_DHE_RSA_WITH_DES_CBC_SHA |
X | X | X | XFootnote 1 | |
SSL_DHE_DSS_WITH_DES_CBC_SHA |
X | X | X | X | XFootnote 1 |
SSL_DH_anon_WITH_DES_CBC_SHA |
X | X | X | X | XFootnote 1 |
SSL_RSA_EXPORT_WITH_RC4_40_MD5 |
X | X | X | X | XFootnote 2 |
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 |
X | X | X | X | XFootnote 2 |
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA |
X | X | X | XFootnote 2 | |
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA |
X | X | X | XFootnote 2 | |
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA |
X | X | X | X | XFootnote 2 |
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA |
X | X | X | X | XFootnote 2 |
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 | XFootnote 1 | ||
TLS_KRB5_WITH_DES_CBC_MD5 |
X | X | XFootnote 1 | ||
TLS_KRB5_EXPORT_WITH_RC4_40_SHA |
X | X | XFootnote 2 | ||
TLS_KRB5_EXPORT_WITH_RC4_40_MD5 |
X | X | XFootnote 2 | ||
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA |
X | X | XFootnote 2 | ||
TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 |
X | X | XFootnote 2 |
запрещает использование этих комплектов. Они могут использоваться в SSLv3/TLS1.0/TLS1.1 протоколах, но не могут использоваться в TLS 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 (включительно). |