AlgorithmParameterGenerator
アルゴリズムAlgorithmParameters
アルゴリズムCertificateFactory
タイプCertPathBuilder
アルゴリズムCertPathValidator
アルゴリズムCertStore
タイプCipher
(暗号化) アルゴリズムConfiguration
タイプKeyAgreement
アルゴリズムKeyFactory
アルゴリズムKeyGenerator
アルゴリズムKeyPairGenerator
アルゴリズムKeyStore
タイプMac
アルゴリズムMessageDigest
アルゴリズムPolicy
タイプSaslClient
機構SaslServer
機構SecretKeyFactory
アルゴリズムSecureRandom
乱数生成 (RNG) アルゴリズムSignature
アルゴリズムSSLContext
アルゴリズムTrustManagerFactory
アルゴリズムXMLSignatureFactory
/KeyInfoFactory
/TransformService)
機構TransformService
) アルゴリズム注: 特定のプロバイダおよびアルゴリズムの情報は、「Sun Provider Documentation」にあります。
JDK Security API は、さまざまなアルゴリズム、証明書、およびキーストアのタイプの標準名を必要とし、これらを使用します。ここに記載の仕様は、標準名として以下の名前を確立するものです。
場合によっては、複数のプロバイダの実装にわたって名前の一貫性を維持できるように、明示的に記載されていない名前の命名規約が提案されることがあります。山括弧で囲まれた項目 (<digest>
、<encryption>
など) は、特定のメッセージダイジェスト、暗号化アルゴリズム、またはその他の名前で置き換えるためのプレースホルダです。
注: 標準名の大文字と小文字は区別されません。
このドキュメントには、次のセキュリティーのサブ領域に関連する標準名の対応一覧が記載されています。
AlgorithmParameterGenerator
アルゴリズム
この項のアルゴリズム名は、AlgorithmParameterGenerator
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
DiffieHellman | Diffie-Hellman アルゴリズムとともに使用するパラメータ。 |
DSA | デジタル署名アルゴリズムとともに使用するパラメータ。 |
AlgorithmParameters
アルゴリズム
この項のアルゴリズム名は、AlgorithmParameters
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
AES | AES アルゴリズムとともに使用するパラメータ。 |
Blowfish | Blowfish アルゴリズムとともに使用するパラメータ。 |
DES | DES アルゴリズムとともに使用するパラメータ。 |
DESede | DESede アルゴリズムとともに使用するパラメータ。 |
DiffieHellman | DiffieHellman アルゴリズムとともに使用するパラメータ。 |
DSA | デジタル署名アルゴリズムとともに使用するパラメータ。 |
OAEP | OAEP アルゴリズムとともに使用するパラメータ。 |
PBEWith<digest>And<encryption> | PBEWith<digest>And<encryption> アルゴリズムとともに使用するパラメータ。例: PBEWithMD5AndDES、PBEWithHmacSHA1AndDESede。 |
PBE | PBE アルゴリズムとともに使用するパラメータ。上記のより具体的な PBE アルゴリズム名に優先してこの名前を使用しないでください。 |
RC2 | RC2 アルゴリズムとともに使用するパラメータ。 |
CertificateFactory
タイプ
この項のアルゴリズム名は、CertificateFactory
のインスタンスの生成時に指定できます。
型 | 説明 |
---|---|
X.509 | X.509 に定義されている証明書のタイプ。RFC 3280 からも入手可能 |
CertPathBuilder
アルゴリズム
この項のアルゴリズム名は、CertPathBuilder
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
PKIX |
ValidationAlgorithm サービス属性で定義されている PKIX 証明書パスの検証アルゴリズム。このアルゴリズムを実装している CertPathBuilder インスタンスの出力は、PKIX 検証アルゴリズムに従って検証された証明書パスです。
|
次の符号化は、CertPath
の getEncoded
メソッドまたは CertificateFactory
の generateCertPath(InputStream inStream, String encoding)
メソッドに渡すことができます。
符号化 | 説明 |
---|---|
PKCS7 |
証明書の重要なフィールドだけを持つ PKCS#7 SignedData オブジェクト。特に、署名および内容は無視されます。証明書が存在しない場合、長さが 0 の CertPath であるとみなされます。警告: PKCS#7 では、証明書パス内の証明書の順序は維持されません。したがって、CertPath が PKCS#7 で符号化されたバイトに変換されてから、元に戻された場合、証明書の順序が変更されたり、CertPath が無効になる場合があります。ユーザーは、この動作を知っておく必要があります。PKCS7 の詳細は、「RSA Security」を参照してください。
|
PkiPath |
ASN 1 DER で符号化された証明書のシーケンス。次のように定義されます。
PkiPath ::= SEQUENCE OF Certificateシーケンス内で、証明書は、最初の証明書の主体が 2 番目の証明書の発行元というような順序になります。 PkiPath 内の各証明書は一意です。どの証明書も、PkiPath 内の Certificate の値に 1 回ずつ現れます。PkiPath 形式は、X.509 (2000) に対する欠陥レポート 279 内で定義されており、ITU-T Recommendation X.509 (2000) の Technical Corrigendum 1 (DTC 2) に組み込まれています。詳細は、ITU の Web サイトを参照してください。
|
CertPathValidator
アルゴリズム
この項のアルゴリズム名は、CertPathValidator
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
PKIX | ValidationAlgorithm サービス属性で定義されている PKIX 証明書パスの検証アルゴリズム。 |
CertStore
タイプ
この項のタイプは、CertStore
のインスタンスの生成時に指定できます。
型 | 説明 |
---|---|
Collection |
証明書および CRL を Collection から取得する CertStore 実装です。このタイプの CertStore は、署名付きメールメッセージや SSL ネゴシエーションなど、バッグまたはある種の添付ファイルで証明書または CRL を受信するアプリケーションで特に有用です。
|
LDAP |
LDAPSchema サービス属性に定義されている方式を使って、証明書および CRL を LDAP ディレクトリからフェッチする CertStore 実装です。
|
Cipher
(暗号化) アルゴリズムCipher
のインスタンスを要求する場合、次の名前を変換内の algorithm コンポーネントとして指定できます。
アルゴリズムの名前 | 説明 |
---|---|
AES | NIST によって FIPS 197 に指定されている Advanced Encryption Standard。Joan Daemen、Vincent Rijmen 両氏による Rijndael アルゴリズムとも呼ばれています。AES は 128 ビットのブロック暗号であり、128 ビット、192 ビット、256 ビットの鍵をサポートします。 |
AESWrap | RFC 3394 に説明されている AES 鍵ラッピングアルゴリズム。 |
ARCFOUR | Ron Rivest が開発した RC4 暗号と完全に相互運用可能なストリーム暗号。詳細については、K. Kaukonen、R. Thayer 著「A Stream Cipher Encryption Algorithm 'Arcfour'」、Internet Draft (expired)、draft-kaukonen-cipher-arcfour-03.txt を参照 |
Blowfish | Bruce Schneier 氏の設計による Blowfish ブロック暗号。 |
DES | FIPS PUB 46-3 で定義されているデータ暗号化規格。 |
DESede | トリプル DES 暗号化 (DES-EDE、3DES、または トリプル DES とも呼ばれます)。データは、DES アルゴリズムを個別に 3 回使用して暗号化されます。データは、最初のサブ鍵を使用して暗号化され、次に 2 番目のサブ鍵を使用して復号化されたあと、3 番目のサブ鍵を使用して暗号化されます。 |
DESedeWrap | RFC 3217 に説明されている DESede 鍵ラッピングアルゴリズム。 |
ECIES | Elliptic Curve Integrated Encryption Scheme |
PBEWith<digest>And<encryption> PBEWith<prf>And<encryption> |
PKCS 5 にあるパスワードベースの暗号アルゴリズム。指定されたメッセージダイジェスト (<digest>) または擬似暗号関数 (<prf>)、暗号化アルゴリズム (<encryption>) を使用します。例:
|
RC2 | RSA Data Security, Inc の Ron Rivest により開発された可変キーサイズ暗号化アルゴリズムです。 |
RC4 | RSA Data Security, Inc の Ron Rivest により開発された可変キーサイズ暗号化アルゴリズム。上記の ARCFOUR に関する注を参照してください。 |
RC5 | RSA Data Security, Inc の Ron Rivest により開発された可変キーサイズ暗号化アルゴリズムです。 |
RSA | PKCS1 で定義されている RSA 暗号化アルゴリズム |
Cipher
のインスタンスを要求する場合、次の名前を変換内のモードコンポーネントとして指定できます。
アルゴリズムの名前 | 説明 |
---|---|
NONE | モードなし |
CBC | FIPS PUB 81 で定義された Cipher Block Chaining Mode。 |
CFB、CFBx |
FIPS PUB 81 で定義された Cipher Feedback Mode。 CFB や OFB などのモードを使用すると、ブロック暗号は暗号の実際のブロックサイズよりも小さい単位でデータを暗号化できます。このようなモードを要求する場合、「DES/CFB8/NoPadding」および「DES/OFB32/PKCS5Padding」変換に示されるように、この数値をモード名に追加することにより、一度に処理するビット数をオプションで指定できます。数値を指定しない場合、プロバイダ固有のデフォルトが使用されますたとえば、SunJCE プロバイダではデフォルトの DES の 64 ビットが使用されます。したがって、ブロック暗号は、CFB8 や OFB8 などの 8 ビットモードを使用して、バイト指向のストリーム暗号に変換できます。 |
CTR | OFB を単純化したもの。Counter モードは、カウンタとして入力ブロックを更新します。 |
CTS | 『Applied Cryptography-Second Edition』(Bruce Scheneier 著、John Wiley and Sons 発行、1996) に説明されている、Cipher Text Stealing。 |
ECB | FIPS PUB 81 で定義された Electronic Codebook モード。 |
OFB、OFBx |
FIPS PUB 81 で定義された Output Feedback Mode。 CFB や OFB などのモードを使用すると、ブロック暗号は暗号の実際のブロックサイズよりも小さい単位でデータを暗号化できます。このようなモードを要求する場合、「DES/CFB8/NoPadding」および「DES/OFB32/PKCS5Padding」変換に示されるように、この数値をモード名に追加することにより、一度に処理するビット数をオプションで指定できます。数値を指定しない場合、プロバイダ固有のデフォルトが使用されますたとえば、SunJCE プロバイダではデフォルトの DES の 64 ビットが使用されます。したがって、ブロック暗号は、CFB8 や OFB8 などの 8 ビットモードを使用して、バイト指向のストリーム暗号に変換できます。 |
PCBC | Kerberos V4 で定義された Propagating Cipher Block Chaining。 |
Cipher
のインスタンスを要求する場合、次の名前を変換内の padding コンポーネントとして指定できます。
アルゴリズムの名前 | 説明 |
---|---|
NoPadding | パディングなし |
ISO10126Padding | このブロック暗号用パディングは、W3C の「XML Encryption Syntax and Processing」ドキュメントの 5.2 Block Encryption Algorithms に記載されている |
OAEPPadding, OAEPWith<digest>And<mgf>Padding |
PKCS1 に定義されている Optimal Asymmetric Encryption Padding 方式。<digest> はメッセージダイジェスト、<mgf> はマスク生成関数で置き換える必要があります。例: OAEPWithMD5AndMGF1Padding および OAEPWithSHA-512AndMGF1Padding。OAEPPadding が使用される場合、OAEPPadding に必要な値を提供するために、Cipher オブジェクトが javax.crypto.spec.OAEPParameterSpec オブジェクトによって初期化されます。
|
PKCS1Padding | PKCS1 で説明されているパディング方式。RSA アルゴリズムとともに使用されます。 |
PKCS5Padding | 「PKCS5: Password-Based Encryption Standard」バージョン 1.5 (RSA Laboratories、1993 年 11 月) で規定されたパディング方式。 |
SSL3Padding |
SSL Protocol バージョン 3.0 のセクション 5.2.3.2 (CBC ブロック暗号) で規定されたパディング方式
block-ciphered struct { opaque content[SSLCompressed.length]; opaque MAC[CipherSpec.hash_size]; uint8 padding[ GenericBlockCipher.padding_length]; uint8 padding_length; } GenericBlockCipher;GenericBlockCipher のインスタンスのサイズは、ブロック暗号のブロック長の倍数でなければなりません。 パディングは、パディング長 (常に存在) に影響を受けます。次の式が当てはまる場合を考えましょう。 sizeof(content) + sizeof(MAC) % block_length = 0,この場合、 padding_length が存在するため、パディング長を (block_length - 1) バイトにする必要があります。このため、パディング方式は PKCS5Padding に類似した (全く同一ではない) ものになります。パディング長は、パディング内で符号化され、1 ~ block_length の範囲の値になります。SSL 方式では、パディングのサイズは、常に存在する padding_length 内で符号化されるため、0 ~ block_length-1 の範囲の値になります。
|
Configuration
タイプ
この項のタイプは、javax.security.auth.login.Configuration
のインスタンスの生成時に指定できます。
型 | 説明 |
---|---|
JavaLoginConfig |
ConfigFile class specification に説明されている、SUN プロバイダのデフォルトの Configuration 実装。
このタイプは、有効な Configuration.Parameter タイプとして java.security.URIParameter を受け入れます。このパラメータが指定されていない場合は、ConfigFile クラス仕様に記述されているソースから構成情報がロードされます。このパラメータが指定されている場合は、指定されている URI からのみ構成情報がロードされます。
|
暗号化制限を「免責された」と見なされるアプリケーションに付属するアクセス権ポリシーファイル内で、次の免責機構名を指定できます。
アルゴリズムの名前 | 説明 |
---|---|
KeyEscrow | バックアップ暗号解読機能付き暗号化システム。このシステムを利用すると、特定条件下で、承認された人物 (ユーザー、組織役員、政府職員) が、特別なデータ復元鍵を保持する信頼できる 1 つ以上のパーティーの提供する情報を利用して、暗号解読を実行できます。 |
KeyRecovery | 暗号化データのロックに使用する秘密鍵を取得するメソッド。これは、災害発生時に、企業独自の暗号化情報への復旧アクセスを実行する手段として使用できます。 |
KeyWeakening | 鍵の一部をエスクローまたは復元可能なメソッド |
GSSAPI を使用する場合は、次の機構を指定できます。GSSAPI 標準との一貫性を維持するために、名前の代わりにオブジェクト識別子 (OID) が指定されます。
機構 OID | 説明 |
---|---|
1.2.840.113554.1.2.2 | RFC 4121 に定義されている Kerberos v5 GSS-API 機構。 |
1.3.6.1.5.5.2 | RFC 4178 で定義されている Simple and Protected GSS-API Negotiation (SPNEGO) 機構です。 |
KeyAgreement
アルゴリズム KeyAgreement
のインスタンスを要求する際、次のアルゴリズム名を指定できます。
アルゴリズムの名前 | 説明 |
---|---|
DiffieHellman | 「PKCS3: Diffie-Hellman Key-Agreement Standard」バージョン 1.4 (RSA Laboratories、1993 年 11 月) で定義された Diffie-Hellman 鍵協定。 |
ECDH | Elliptic Curve Diffie-Hellman。ANSI X9.63 に定義されており、RFC 3278:「Use of Elliptic Curve Cryptography (ECC) Algorithms in Cryptographic Message Syntax (CMS)」に記載されています。 |
ECMQV | www.secg.org の 「Elliptic Curve Cryptography」 に定義されている Elliptic Curve Menezes-Qu-Vanstone。 |
KeyFactory
アルゴリズム
特に指定されている場合を除き、これらのクラスは、Key.getAlgorithm()
が標準アルゴリズム名を返すキーを作成します。
この項のタイプは、KeyFactory
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
DiffieHellman |
Diffie-Hellman KeyAgreement アルゴリズムの鍵。
注: |
DSA | デジタル署名アルゴリズムの鍵。 |
RSA | RSA アルゴリズム (Signature/Cipher) の鍵。 |
EC | Elliptic Curve アルゴリズムの鍵。 |
KeyGenerator
アルゴリズムKeyGenerator
のインスタンスを要求する際、次のアルゴリズム名を指定できます。
アルゴリズムの名前 | 説明 |
---|---|
AES | AES アルゴリズムとともに使用する鍵ジェネレータ。 |
ARCFOUR | ARCFOUR (RC4) アルゴリズムとともに使用する鍵ジェネレータ。 |
Blowfish | Blowfish アルゴリズムとともに使用する鍵ジェネレータ。 |
DES | DES アルゴリズムとともに使用する鍵ジェネレータ。 |
DESede | DESede (トリプル DES) アルゴリズムとともに使用する鍵ジェネレータ。 |
HmacMD5 | HmacMD5 アルゴリズムとともに使用する鍵ジェネレータ。 |
HmacSHA1 HmacSHA256 HmacSHA384 HmacSHA512 | HmacSHA アルゴリズムのさまざまなフレーバとともに使用する鍵ジェネレータ。 |
RC2 | RC2 アルゴリズムとともに使用する鍵ジェネレータ。 |
KeyPairGenerator
アルゴリズム
特に指定されている場合を除き、これらのクラスは、Key.getAlgorithm()
が標準アルゴリズム名を返すキーを作成します。
この項のアルゴリズム名は、KeyPairGenerator
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
DiffieHellman |
Diffie-Hellman KeyAgreement アルゴリズムの鍵ペアを生成します。
注: |
DSA | デジタル署名アルゴリズムの鍵ペアを生成します。 |
RSA | RSA アルゴリズム (Signature/Cipher) の鍵ペアを生成します。 |
EC | Elliptic Curve アルゴリズムの鍵ペアを生成します。 |
KeyStore
タイプ
この項のアルゴリズム名は、KeyStore
のインスタンスの生成時に指定できます。
型 | 説明 |
---|---|
jceks | 「SunJCE」プロバイダによって提供されている独自のキーストア実装。 |
jks | 「SUN」プロバイダによって提供されている独自のキーストア実装。 |
pkcs12 | PKCS12 に定義されている、個人のアイデンティティー情報のための転送構文。 |
Mac
アルゴリズムMac
のインスタンスを要求する際、次のアルゴリズム名を指定できます。
アルゴリズムの名前 | 説明 |
---|---|
HmacMD5 | RFC 2104「HMAC: Keyed-Hashing for Message Authentication」 (1997 年 2 月) で定義された HMAC-MD5 キーハッシュアルゴリズム。 |
HmacSHA1 HmacSHA256 HmacSHA384 HmacSHA512 |
RFC 2104「HMAC: Keyed-Hashing for Message Authentication」 (1997 年 2 月) で定義された、SHA-* をメッセージダイジェストアルゴリズムとする HmacSHA* アルゴリズム。 |
PBEWith<mac> | パスワードベースのメッセージ認証規格、PKCS5 v 2.0 で使用される Mac。<mac> はメッセージ認証コードのアルゴリズム名。例: PBEWithHmacSHA1。 |
MessageDigest
アルゴリズム
この項のアルゴリズム名は、MessageDigest
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
MD2 | RFC 1319 で定義されている MD2 メッセージダイジェストアルゴリズム。 |
MD5 | RFC 1321 で定義されている MD5 メッセージダイジェストアルゴリズム。 |
SHA-1 SHA-256 SHA-384 SHA-512 |
FIPS PUB 180-2 で定義されている Hash アルゴリズム。 SHA-256 は、衝突攻撃に備えて 128 ビットのセキュリティーを提供するための 256 ビットハッシュ機能であり、SHA-512 は、256 ビットのセキュリティーを提供するための 512 ビットハッシュ機能です。SHA-512 の出力を切り詰めることによって、384 ビットのハッシュを得ることができます。 |
Policy
タイプ
この項のタイプは、Policy
のインスタンスの生成時に指定できます。
型 | 説明 |
---|---|
JavaPolicy |
PolicyFile ガイドに説明されている、SUN プロバイダのデフォルトの Policy 実装。このタイプは、有効な Policy.Parameter タイプとして java.security.URIParameter を受け入れます。このパラメータが指定されていない場合は、PolicyFile ガイドの ポリシーファイルのデフォルトの場所 セクションに記述されているソースからポリシー情報がロードされます。このパラメータが指定されている場合は、指定されている URI からのみポリシー情報がロードされます。
|
SaslClient
機構
この項の機構は、SaslClient
のインスタンスの生成時に指定できます。
機構 | 説明 |
---|---|
CRAM-MD5 | RFC 2195 を参照してください。この機構は、ハッシュされたユーザー名/パスワード認証方式をサポートしています。 |
DIGEST-MD5 | RFC 2831 を参照してください。この機構は、SASL 機構として HTTP ダイジェスト認証を使用する方法を定義します。 |
EXTERNAL | RFC 2222 を参照してください。この機構は、TLS や IPsec などの外部チャネルから認証情報を取得します。 |
GSSAPI | RFC 2222 を参照してください。この機構は、認証情報を取得するときに GSSAPI を使用します。Kerberos v5 認証をサポートしています。 |
PLAIN | RFC 2595 を参照してください。この機構は、クリアテキストユーザー名/パスワード認証をサポートしています。 |
SaslServer
機構
この項の機構は、SaslServer
のインスタンスの生成時に指定できます。
機構 | 説明 |
---|---|
CRAM-MD5 | RFC 2195 を参照してください。この機構は、ハッシュされたユーザー名/パスワード認証方式をサポートしています。 |
DIGEST-MD5 | RFC 2831 を参照してください。この機構は、SASL 機構として HTTP ダイジェスト認証を使用する方法を定義します。 |
GSSAPI | RFC 2222 を参照してください。この機構は、認証情報を取得するときに GSSAPI を使用します。Kerberos v5 認証をサポートしています。 |
SecretKeyFactory
アルゴリズムSecretKeyFactory
のインスタンスを要求する際、次のアルゴリズム名を指定できます。
アルゴリズムの名前 | 説明 |
---|---|
AES | AES アルゴリズムとともに使用する秘密鍵を構築します。 |
ARCFOUR | ARCFOUR アルゴリズムとともに使用する秘密鍵を構築します。 |
DES | DES アルゴリズムとともに使用する秘密鍵を構築します。 |
DESede | DESede (トリプル DES) アルゴリズムとともに使用する秘密鍵を構築します。 |
PBEWith<digest>And<encryption> PBEWith<prf>And<encryption> |
パスワードベースの暗号化 PKCS5 で使用される秘密鍵ファクトリ。<digest> はメッセージダイジェスト、<prf> は擬似ランダム関数、<encryption> は暗号化アルゴリズム。
例:
|
PBKDF2WithHmacSHA1 | PKCS5 v2.0 にあるパスワードベースキー派生機能を使用して秘密鍵を構築します。 |
SecureRandom
乱数生成 (RNG) アルゴリズム
この項のアルゴリズム名は、SecureRandom
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
SHA1PRNG | Sun プロバイダが提供する擬似乱数生成 (PRNG) アルゴリズム。このアルゴリズムは、PRNG の基盤として SHA-1 を使用します。各操作につき値が 1 増加する 64 ビットカウンタを使って鎖状につながった真にランダムなシード値から、SHA-1 ハッシュを計算します。160 ビットの SHA‐1 出力のうち、64 ビットだけが使用されます。 |
暗号化サービスは、常に特定のアルゴリズムまたはタイプに関連付けられています。たとえば、デジタル署名サービスは常に特定のアルゴリズム (DSA など) に、CertificateFactory
サービスは常に特定の証明書タイプ (X.509 など) にそれぞれ関連付けられています。
ここで示されている属性は、暗号化サービス用のものです。サービス属性は、プロバイダを選択するためのフィルタとして使用できます。
属性名および属性値は両方とも大文字と小文字を区別しません。
属性 | 説明 |
---|---|
KeySize | プロバイダが暗号化サービスのためにサポートしている最大のキーサイズ |
ImplementedIn | 暗号化サービスの実装がソフトウェアとハードウェアのどちらで行われているか。この属性の値は、「software」と「hardware」のどちらかになります。 |
ValidationAlgorithm |
CertPathBuilder または CertPathValidator がサポートする証明書パス検証アルゴリズムの実装を定義する仕様の名前。RFC は、「RFC#」 (例:「RFC3280」) のように指定します。 Internet Draft は、ドラフト名で指定します (例:「draft-ietf-pkix-rfc2560bis-01.txt」)。この属性の値を Security.getProviders メソッドの選択基準として指定した場合、String.equalsIgnoreCase メソッドにより値の比較が行われます。CertPathBuilder および CertPathValidator のすべての PKIX 実装は、この属性の値を提供する必要があります。
|
LDAPSchema |
LDAP CertStore の実装が証明書と CRL の取得に使用する LDAP 方式を定義する仕様の名前です。この属性の形式およびセマンティクスは、ValidationAlgorithm 属性の場合と同じです。CertStore のすべての LDAP 実装は、この属性の値を提供する必要があります。
|
例を示します。
map.put("KeyPairGenerator.DSA", "sun.security.provider.DSAKeyPairGenerator"); map.put("KeyPairGenerator.DSA KeySize", "1024"); map.put("KeyPairGenerator.DSA ImplementedIn", "Software");
Signature
アルゴリズム
この項のアルゴリズム名は、Signature
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
NONEwithRSA | RSA 操作を行う前にダイジェストアルゴリズム (MD5/SHA1 など) を使用しない RSA 署名アルゴリズム。RSA 署名アルゴリズムについては、PKCS1 を参照してください。 |
MD2withRSA MD5withRSA |
PKCS1 に定義されている RSA 暗号を使用した MD2/MD5 署名アルゴリズム。MD2/MD5 ダイジェストアルゴリズムおよび RSA を使用して RSA デジタル署名を作成および検証します。 |
SHA1withRSA SHA256withRSA SHA384withRSA SHA512withRSA |
OSI Interoperability Workshop に定義されている SHA-* および RSA 暗号化アルゴリズムを使用した署名アルゴリズム。PKCS1 で説明されているパディング規則を使用します。 |
NONEwithDSA | FIPS PUB 186-2 で定義されているデジタル署名アルゴリズム。このデータの長さは正確に 20 バイトである必要があります。このアルゴリズムは、rawDSA とも呼ばれています。 |
SHA1withDSA | FIPS PUB 186 に定義されている SHA-1 を使用した DSA 署名アルゴリズム。SHA-1 ダイジェストアルゴリズムおよび DSA を使用して DSA デジタル署名を作成および検証します。 |
NONEwithECDSA SHA1withECDSA SHA256withECDSA SHA384withECDSA SHA512withECDSA (ECDSA) |
ANSI X9.62 で定義されている ECDSA 署名アルゴリズム。
注: 「ECDSA」は「SHA1withECDSA」アルゴリズムのあいまいな名前であるため、使用しないでください。代わりに、正式な名前「SHA1withECDSA」を使用します。 |
<digest>with<encryption> |
この形式を使用して、特定のメッセージ ダイジェスト (MD2、MD5 など) とアルゴリズム (RSA、DSA など) を使用する署名アルゴリズムの名前を指定します。この節で紹介した明示的に定義されている標準名 (MD2withRSA など) も同じ形式で指定されています。
PKCS1 v 2.0 に定義された新しい署名方式の場合は、<digest>with<encryption> の形式では不十分なため、<digest>with<encryption>and<mgf> の形式を使用して、名前を指定できます。<mgf> は、MGF1 などのマスク生成機能に置き換える必要があります。例: MD5withRSAandMGF1。 |
SSLContext
アルゴリズム
この項のアルゴリズム名は、SSLContext
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
SSL | SSL の一部のバージョンをサポートする。他のバージョンをサポートする場合もある |
SSLv2 | SSL バージョン 2 以降をサポートします。ほかのバージョンをサポートする場合もあります。 |
SSLv3 | SSL バージョン 3 をサポートする。他のバージョンをサポートする場合もある |
TLS | TLS の一部のバージョンをサポートする。他のバージョンをサポートする場合もある |
TLSv1 | RFC 2246: TLS version 1.0 をサポートします。ほかのバージョンをサポートする場合もあります。 |
TLSv1.1 | RFC 4346: TLS version 1.1 をサポートします。ほかのバージョンをサポートする場合もあります。 |
TrustManagerFactory
アルゴリズム
この項のアルゴリズム名は、TrustManagerFactory
のインスタンスの生成時に指定できます。
アルゴリズムの名前 | 説明 |
---|---|
PKIX |
RFC 3280 の IETF PKIX ワーキンググループまたはその後継者によって定義されている規則に従って証明書チェーンを検証する X509TrustManagers のファクトリ。TrustManagerFactory は、クラス javax.net.ssl.CertPathTrustManagerParameters を使用した初期化をサポートする必要があります。
|
XMLSignatureFactory
/KeyInfoFactory
/TransformService)
機構
この項の機構は、XMLSignatureFactory
、KeyInfoFactory
、または TransformService
のインスタンスの生成時に指定できます。この機構は、XML 署名や KeyInfo 構造を解析および生成するときに実装によって内部で使用される XML 処理機構を識別します。また、各 TransformService
インスタンスは、機構だけでなく特定の変換アルゴリズムもサポートします。変換アルゴリズムの標準名は次の項で定義されています。
機構 | 説明 |
---|---|
DOM | ドキュメントオブジェクトモデル。DOM 実装の追加要件については、DOM 機構の要件を参照してください。 |
TransformService
) アルゴリズム
この項のアルゴリズム名は、TransformService
のインスタンスの生成時に指定できます。XML 署名標準との一貫性を維持するために、名前の代わりに URI が指定されます。これらの URI ごとに API 定数が定義されており、次の表内で各 URI のあとの括弧内に示されています。
アルゴリズムの URI | 説明 |
---|---|
http://www.w3.org/TR/2001/REC-xml-c14n-20010315 (CanonicalizationMethod.INCLUSIVE )
|
Canonical XML (without comments) に定義されている正規化アルゴリズム。 |
http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments (CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS )
|
Canonical XML with comments に定義されている正規化アルゴリズム。 |
http://www.w3.org/2001/10/xml-exc-c14n# (CanonicalizationMethod.EXCLUSIVE )
|
Exclusive Canonical XML (without comments) に定義されている正規化アルゴリズム。 |
http://www.w3.org/2001/10/xml-exc-c14n#WithComments (CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS )
|
Exclusive Canonical XML with comments に定義されている正規化アルゴリズム。 |
http://www.w3.org/2000/09/xmldsig#base64 (Transform.BASE64 )
|
Base64 に定義されている変換アルゴリズム。 |
http://www.w3.org/2000/09/xmldsig#enveloped-signature (Transform.ENVELOPED )
|
Enveloped Signature に定義されている変換アルゴリズム。 |
http://www.w3.org/TR/1999/REC-xpath-19991116 (Transform.XPATH )
|
XPath に定義されている変換アルゴリズム。 |
http://www.w3.org/2002/06/xmldsig-filter2 (Transform.XPATH2 )
|
XPath Filter 2 に定義されている変換アルゴリズム。 |
http://www.w3.org/TR/1999/REC-xslt-19991116 (Transform.XSLT )
|
XSLT に定義されている変換アルゴリズム。 |
追加の JSSE 標準名
X509KeyManager
の chooseClientAlias
メソッド、chooseServerAlias
メソッド、getClientAliases
メソッド、getServerAliases
メソッドに渡される keyType
パラメータは、公開鍵の型を指定します。以下の表には、指定された証明書のタイプ別に、keyType
で使用される標準名を一覧表示します。
名前
証明書のタイプ
RSA
RSA
DSA
DSA
DH_RSA
Diffie-Hellman (RSA 署名を使用)
DH_DSA
Diffie-Hellman (DSA 署名を使用)
EC
Elliptic Curve
EC_EC
Elliptic Curve (ECDSA 署名を使用)
EC_RSA
Elliptic Curve (RSA 署名を使用)
SSLSocket
の setEnabledProtocols
メソッドに渡される protocols
パラメータは、接続で使用できるプロトコルのバージョンを指定します。以下の表には、setEnabledProtocols
に渡される標準名、または SSLSocket getSupportedProtocols
メソッドと getEnabledProtocols
メソッドから返される標準名を一覧表示します。
名前
プロトコル
SSLv2
SSL バージョン 2 プロトコル
SSLv3
SSL バージョン 3 プロトコル
TLSv1
TLS バージョン 1.0 プロトコル (RFC 2246 に定義)
TLSv1.1
TLS バージョン 1.1 プロトコル (RFC 4346 に定義)
SSLv2Hello
現在、SSLv3、TLSv1、および TLSv1.1 プロトコルを使用すると、SSLv3、TLSv1、および TLSv1.1 の hello を SSLv2 形式の hello にカプセル化して送信できます。これらのプロトコルでこのような互換性を許可する理由については、該当する RFC (上記) の付録 E を参照してください。
一部の SSL/TLS サーバーでは v2 hello 形式がサポートされていません。このため、クライアント hello は SSLv3 または TLSv1 のクライアント hello 形式に準拠している必要があります。
SSLv2Hello オプションは、SSLv2 カプセル化を制御します。クライアントで SSLv2Hello が無効になっている場合、すべての発信メッセージは SSLv3/TLSv1 のクライアント hello 形式に準拠します。サーバーで SSLv2Hello が無効になっている場合、すべての着信メッセージは SSLv3/TLSv1 のクライアント hello 形式に準拠する必要があります。
X509TrustManager
の checkClientTrusted
メソッドと checkServerTrusted
メソッドに渡される authType
パラメータは、認証のタイプを示します。以下の表には、クライアントまたはサーバーの証明書チェーンで使用される標準名を示します。
クライアントまたはサーバーの証明書チェーン
認証の標準名
クライアント
実際に使用する証明書によって異なる。たとえば、RSAPublicKey を使用する場合、authType
は "RSA" になる
サーバー
暗号群の鍵交換アルゴリズム部分が、"RSA"、"DHE_DSS" のような文字列で表される。注: エクスポート可能な暗号群では、実行時、ハンドシェーク中に鍵交換アルゴリズムが決定される場合がある。たとえば、TLS_RSA_EXPORT_WITH_RC4_40_MD5 の authType
は、一時的な RSA 鍵を使って鍵交換を行う場合は "RSA_EXPORT"、サーバー証明書の鍵を使用する場合は "RSA" になる。それ以外の場合は "UNKNOWN"
さまざまなグループによって、SSL/TLS 名前空間に新しい暗号群定義が段階的に追加されました。一部の暗号群の名前は、TLSv1.0 がファイナライズされる前に定義されました。このため、SSL_*
接頭辞が付与されています。接頭辞 TLS_*
が付与されて TLS RFC 内で説明されている名前は、接頭辞 SSL_*
が付与されている JSSE 暗号群と機能的に同等です。
次の表は、標準の暗号群の名前を示しています。
暗号群
SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA
SSL_DH_DSS_WITH_DES_CBC_SHA
SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
SSL_DH_RSA_WITH_DES_CBC_SHA
SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA
SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
TLS_DHE_DSS_WITH_AES_128_CBC_SHA
TLS_DHE_DSS_WITH_AES_256_CBC_SHA
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA
SSL_DHE_DSS_WITH_DES_CBC_SHA
SSL_DHE_DSS_WITH_RC4_128_SHA
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
TLS_DHE_RSA_WITH_AES_128_CBC_SHA
TLS_DHE_RSA_WITH_AES_256_CBC_SHA
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA
SSL_DHE_RSA_WITH_DES_CBC_SHA
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA
SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA
TLS_DH_anon_WITH_AES_128_CBC_SHA
TLS_DH_anon_WITH_AES_256_CBC_SHA
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA
SSL_DH_anon_WITH_DES_CBC_SHA
SSL_DH_anon_WITH_RC4_128_MD5
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5
SSL_FORTEZZA_DMS_WITH_NULL_SHA
SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_RSA_WITH_DES_CBC_SHA
SSL_RSA_WITH_IDEA_CBC_SHA
SSL_RSA_WITH_RC4_128_MD5
SSL_RSA_WITH_RC4_128_SHA
SSL_RSA_WITH_NULL_MD5
SSL_RSA_WITH_NULL_SHA
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5
SSL_RSA_EXPORT_WITH_RC4_40_MD5
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA
SSL_RSA_EXPORT1024_WITH_RC4_56_SHA
SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA
SSL_RSA_FIPS_WITH_DES_CBC_SHA
SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA
TLS_KRB5_WITH_3DES_EDE_CBC_MD5
TLS_KRB5_WITH_3DES_EDE_CBC_SHA
TLS_KRB5_WITH_DES_CBC_MD5
TLS_KRB5_WITH_DES_CBC_SHA
TLS_KRB5_WITH_IDEA_CBC_SHA
TLS_KRB5_WITH_IDEA_CBC_MD5
TLS_KRB5_WITH_RC4_128_MD5
TLS_KRB5_WITH_RC4_128_SHA
TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5
TLS_KRB5_EXPORT_WITH_RC4_40_MD5
TLS_KRB5_EXPORT_WITH_RC4_40_SHA
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDH_ECDSA_WITH_RC4_128_SHA
TLS_ECDH_ECDSA_WITH_NULL_SHA
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDH_RSA_WITH_RC4_128_SHA
TLS_ECDH_RSA_WITH_NULL_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
TLS_ECDHE_ECDSA_WITH_NULL_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_NULL_SHA
TLS_ECDH_anon_WITH_AES_128_CBC_SHA
TLS_ECDH_anon_WITH_AES_256_CBC_SHA
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA
TLS_ECDH_anon_WITH_RC4_128_SHA
TLS_ECDH_anon_WITH_NULL_SHA
アルゴリズム
この項では、このドキュメントで定義したいくつかのアルゴリズムに関する詳細を示します。一覧されているアルゴリズムの実装を提供するプロバイダは、この付録の仕様に従うことが必要です。
ここに記載のない新しいアルゴリズムを追加するには、まず最初にプロバイダパッケージの供給先に問い合わせて、該当アルゴリズムが追加済みでないかどうかを確認します。すでに追加されている場合は、可能であれば開示されている定義を使います。まだ追加されていない場合は、アルゴリズムの仕様を添えて、この項に記載のテンプレートに類似した使用可能なテンプレートを作成します。
仕様テンプレート
次の表に、アルゴリズムの仕様のフィールドを示します。.
フィールド
説明
名前
アルゴリズムの認識名。これは、既存のアルゴリズムオブジェクト名を判別するために、(アルゴリズムの要求時に) getInstance
メソッドに渡される名前で、getAlgorithm
メソッドによって返されます。これらのメソッドは、関連エンジンクラス、Signature
、MessageDigest
、KeyPairGenerator
、および AlgorithmParameterGenerator
内にあります。
型
アルゴリズムの型。Signature
、MessageDigest
、KeyPairGenerator
、および ParameterGenerator
内にあります。
説明
アルゴリズムに関する一般注意。アルゴリズムにより実装される標準、実用向き特許などを含みます。
KeyPair
アルゴリズム (オプション指定)
このアルゴリズムの KeyPair アルゴリズムを示します。
キーサイズ (オプション指定)
鍵アルゴリズムまたは鍵生成アルゴリズムの場合は、正しいキーサイズを示します。
サイズ (オプション指定)
アルゴリズムパラメータ生成アルゴリズムの場合は、アルゴリズムパラメータ生成の正しい「サイズ」を示します。
パラメータのデフォルト値 (オプション指定)
鍵生成アルゴリズムの場合は、デフォルトのパラメータ値を示します。
署名
フォーマット (オプション指定)
Signature
アルゴリズムの場合は、署名のフォーマットを示します。つまり、検証メソッドの入力と署名メソッドの出力です。
アルゴリズムの仕様
SHA-1 メッセージダイジェストアルゴリズム
名前
SHA-1
型
MessageDigest
説明
NIST の FIPS 180-2 で定義したメッセージダイジェストアルゴリズム。このアルゴリズムの出力は 160 ビットのダイジェストです。
MD2 メッセージダイジェストアルゴリズム
名前
MD2
型
MessageDigest
説明
RFC 1319 で定義されているメッセージダイジェストアルゴリズム。このアルゴリズムの出力は 128 ビット (16 バイト) のダイジェストです。
MD5 メッセージダイジェストアルゴリズム
名前
MD5
型
MessageDigest
説明
RFC 1321 で定義されているメッセージダイジェストアルゴリズム。このアルゴリズムの出力は 128 ビット (16 バイト) のダイジェストです。
デジタル署名アルゴリズム
名前
SHA1withDSA
型
署名
説明
このアルゴリズムは、NIST FIPS 186 に記述の署名アルゴリズムです。DSA は SHA-1 メッセージダイジェストアルゴリズムを使います。
KeyPair
アルゴリズム
DSA
署名フォーマット
ASN.1 の 2 つの INTEGER 値のシーケンス。r
および s
(この順序):
SEQUENCE ::= { r INTEGER, s INTEGER }
RSA ベースの署名アルゴリズム、MD2、MD5 または SHA-1 を使用します。
名前
MD2withRSA、MD5withRSA、および SHA1withRSA
型
署名
説明
それぞれに MD2、MD5、および SHA‐1 メッセージアルゴリズムを RSA 暗号化とともに使う署名アルゴリズムです。
KeyPair
アルゴリズム
RSA
署名フォーマット
RSA Laboratory の「公開鍵暗号化標準ノート #1」で定義の DER 符号化 PKCS1 ブロック。暗号化データは署名付きデータのダイジェストです。
DSA KeyPair 生成アルゴリズム
名前
DSA
型
KeyPairGenerator
説明
このアルゴリズムは、DSA 対応 NIST FIPS 186 に記載の鍵のペア生成アルゴリズムです。
キーサイズ
係数 p
の長さ (ビット単位)。512 から 1024 の範囲で、64 の倍数である必要があります。デフォルトのキーサイズは 1024 です。
パラメータのデフォルト値:
以下のデフォルトのパラメータ値は、512、768、および 1024 ビットのキーサイズ用に使います。
512 ビットの鍵パラメータ
SEED = b869c82b 35d70e1b 1ff91b28 e37a62ec dc34409b
counter = 123
p = fca682ce 8e12caba 26efccf7 110e526d b078b05e decbcd1e b4a208f3
ae1617ae 01f35b91 a47e6df6 3413c5e1 2ed0899b cd132acd 50d99151
bdc43ee7 37592e17
q = 962eddcc 369cba8e bb260ee6 b6a126d9 346e38c5
g = 678471b2 7a9cf44e e91a49c5 147db1a9 aaf244f0 5a434d64 86931d2d
14271b9e 35030b71 fd73da17 9069b32e 2935630e 1c206235 4d0da20a
6c416e50 be794ca4
768 ビットの鍵パラメータ
SEED = 77d0f8c4 dad15eb8 c4f2f8d6 726cefd9 6d5bb399
counter = 263
p = e9e64259 9d355f37 c97ffd35 67120b8e 25c9cd43 e927b3a9 670fbec5
d8901419 22d2c3b3 ad248009 3799869d 1e846aab 49fab0ad 26d2ce6a
22219d47 0bce7d77 7d4a21fb e9c270b5 7f607002 f3cef839 3694cf45
ee3688c1 1a8c56ab 127a3daf
q = 9cdbd84c 9f1ac2f3 8d0f80f4 2ab952e7 338bf511
g = 30470ad5 a005fb14 ce2d9dcd 87e38bc7 d1b1c5fa cbaecbe9 5f190aa7
a31d23c4 dbbcbe06 17454440 1a5b2c02 0965d8c2 bd2171d3 66844577
1f74ba08 4d2029d8 3c1c1585 47f3a9f1 a2715be2 3d51ae4d 3e5a1f6a
7064f316 933a346d 3f529252
1024 ビットの鍵パラメータ
SEED = 8d515589 4229d5e6 89ee01e6 018a237e 2cae64cd
counter = 92
p = fd7f5381 1d751229 52df4a9c 2eece4e7 f611b752 3cef4400 c31e3f80
b6512669 455d4022 51fb593d 8d58fabf c5f5ba30 f6cb9b55 6cd7813b
801d346f f26660b7 6b9950a5 a49f9fe8 047b1022 c24fbba9 d7feb7c6
1bf83b57 e7c6a8a6 150f04fb 83f6d3c5 1ec30235 54135a16 9132f675
f3ae2b61 d72aeff2 2203199d d14801c7
q = 9760508f 15230bcc b292b982 a2eb840b f0581cf5
g = f7e1a085 d69b3dde cbbcab5c 36b857b9 7994afbb fa3aea82 f9574c0b
3d078267 5159578e bad4594f e6710710 8180b449 167123e8 4c281613
b7cf0932 8cc8a6e1 3c167a8b 547c8d28 e0a3ae1e 2bb3a675 916ea37f
0bfa2135 62f1fb62 7a01243b cca4f1be a8519089 a883dfe1 5ae59f06
928b665e 807b5525 64014c3b fecf492a
RSA KeyPair 生成アルゴリズム
名前
RSA
型
KeyPairGenerator
説明
このアルゴリズムは、PKCS1 に記載の鍵のペア生成アルゴリズムです。
強度
512 以上で 8 の倍数の任意の整数
DSA パラメータ生成アルゴリズム
名前
DSA
型
ParameterGenerator
説明
このアルゴリズムは、NIST FIPS 186 for DSA に記載のパラメータ生成アルゴリズムです。
強度
係数 p
の長さ (ビット単位)。512 から 1024 の範囲で、64 の倍数である必要があります。デフォルトのキーサイズは 1024 です。
実装要件
この項では、Java SE 6 実装のセキュリティーアルゴリズム要件を定義します。この要件は、Java SE 6 実装とこのアルゴリズムを使用するアプリケーションの相互運用性を向上することを意図しています。
実装要件には、次の 2 つがあります。
- 推奨: Java SE 6 の各実装は、指定されたアルゴリズムをデフォルトで (インストール時に) サポートしているべきです。
- 必須: Java SE 6 の各実装は、指定されたアルゴリズムをデフォルトで (インストール時に) サポートしている必要があります。
この項での要件は、アルゴリズムの強度またはセキュリティーの指標とはなりません。たとえば、近年発達した暗号解析によって、MD5 MessageDigest アルゴリズムの強度に弱点が見つかりました。アルゴリズムがアプリケーションのセキュリティー要件を満たしているかどうかを判断する必要があります。
アルゴリズムまたはエンジンがリストに示されていない場合、そのアルゴリズムまたはエンジンは指定された要件に従っていません。
Java 暗号化および PKI アルゴリズム
Java SE 6 の各実装は、次の表の指定されたアルゴリズム (すべて推奨) をデフォルトで (インストール時に) サポートしているべきです。Java SE (7) の次のリリースでは、次の表内の各アルゴリズムは必須に変更される予定です。これらの要件は、サードパーティープロバイダには当てはまりません。
エンジン
アルゴリズム名
要件
AlgorithmParameters
DSA
推奨
CertificateFactory
X.509
推奨
CertPathBuilder
PKIX
推奨
CertPathValidator
PKIX
推奨
CertStore
Collection
推奨
Cipher
(アルゴリズムは変換として指定)。実装は、括弧内の鍵サイズまでサポートする必要があります。
AES/CBC/NoPadding (128)
AES/CBC/PKCS5Padding (128)
AES/ECB/NoPadding (128)
AES/ECB/PKCS5Padding (128)
DES/CBC/NoPadding (56)
DES/CBC/PKCS5Padding (56)
DES/ECB/NoPadding (56)
DES/ECB/PKCS5Padding (56)
DESede/CBC/NoPadding (168)
DESede/CBC/PKCS5Padding (168)
DESede/ECB/NoPadding (168)
DESede/ECB/PKCS5Padding (168)
RSA/ECB/PKCS1Padding (2048)
RSA/ECB/OAEPPadding (2048)
推奨
KeyFactory
(実装は、括弧内の鍵サイズまでサポートする必要があります)
DSA (1024)
RSA (2048)
推奨
KeyGenerator
(実装は、括弧内の鍵サイズまでサポートする必要があります)
AES (128)
DES (56)
DESede (168)
HmacMD5 (128)
HmacSHA1 (160)
HmacSHA256 (160)
推奨
KeyPairGenerator
(実装は、括弧内の鍵サイズまでサポートする必要があります)
DSA (1024)
RSA (2048)
推奨
KeyStore
jks
pkcs12
推奨
Mac
(実装は、括弧内の鍵サイズまでサポートする必要があります)
HmacMD5 (128)
HmacSHA1 (160)
HmacSHA256 (160)
推奨
MessageDigest
MD5
SHA-1
SHA-256
推奨
SecretKeyFactory
(実装は、括弧内の鍵サイズまでサポートする必要があります)
AES (128)
DES (56)
DESede (168)
推奨
署名
MD5withRSA
SHA1withDSA
SHA1withRSA
SHA256withRSA
推奨
XML 署名アルゴリズム
次の表は、XML 署名 (JSR 105) 実装のアルゴリズム要件を示しています。
エンジン
アルゴリズム名
要件
TransformService
http://www.w3.org/2001/10/xml-exc-c14n# (CanonicalizationMethod.EXCLUSIVE
)
必須
TransformService
http://www.w3.org/2001/10/xml-exc-c14n#WithComments (CanonicalizationMethod.EXCLUSIVE_WITH_COMMENTS
)
推奨
TransformService
http://www.w3.org/TR/2001/REC-xml-c14n-20010315 (CanonicalizationMethod.INCLUSIVE
)
必須
TransformService
http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments (CanonicalizationMethod.INCLUSIVE_WITH_COMMENTS
)
推奨
TransformService
http://www.w3.org/2000/09/xmldsig#base64 (Transform.BASE64
)
必須
TransformService
http://www.w3.org/2000/09/xmldsig#enveloped-signature (Transform.ENVELOPED
)
必須
TransformService
http://www.w3.org/TR/1999/REC-xpath-19991116 (Transform.XPATH
)
推奨
TransformService
http://www.w3.org/2002/06/xmldsig-filter2 (Transform.XPATH2
)
推奨
XMLSignatureFactory
http://www.w3.org/2000/09/xmldsig#sha1 (DigestMethod.SHA1
)
必須
XMLSignatureFactory
http://www.w3.org/2000/09/xmldsig#hmac-sha1 (SignatureMethod.HMAC_SHA1
)
必須
XMLSignatureFactory
http://www.w3.org/2000/09/xmldsig#dsa-sha1 (SignatureMethod.DSA_SHA1
)
必須
XMLSignatureFactory
http://www.w3.org/2000/09/xmldsig#rsa-sha1 (SignatureMethod.RSA_SHA1
)
推奨