Java Platform Standard Edition 7
AlgorithmParameterGenerator
アルゴリズムAlgorithmParameters
アルゴリズムCertificateFactory
TypesCertPathBuilder
アルゴリズムCertPathValidator
アルゴリズムCertStore
TypesCipher
(暗号化) アルゴリズムConfiguration
TypesKeyAgreement
アルゴリズムKeyFactory
アルゴリズムKeyGenerator
アルゴリズムKeyManagerFactory
アルゴリズムKeyPairGenerator
アルゴリズムKeyStore
TypesMac
アルゴリズムMessageDigest
アルゴリズムPolicy
TypesSaslClient
メカニズムSaslServer
メカニズムSecretKeyFactory
アルゴリズムSecureRandom
乱数生成 (RNG) アルゴリズムSignature
アルゴリズムSSLContext
アルゴリズムTrustManagerFactory
アルゴリズムXMLSignatureFactory
/KeyInfoFactory
/TransformService)
メカニズムTransformService
) アルゴリズム注: 特定のプロバイダおよびアルゴリズムの情報は、Sun プロバイダのドキュメントに含まれています。
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
Typesこのセクションのタイプは、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 のセキュリティーを参照してください。 |
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
Typesこのセクションのタイプは、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 ブロック暗号。 |
CCM | NIST Special Publication SP 800-38C で定義された Counter/CBC Mode。 |
DES | FIPS PUB 46-3 に記述されている Digital Encryption Standard。 |
DESede | トリプル DES 暗号化 (DES-EDE、3DES、またはトリプル DES とも呼ばれます)。データは、DES アルゴリズムを個別に 3 回使用して暗号化されます。データは、最初のサブ鍵を使用して暗号化され、次に 2 番目のサブ鍵を使用して復号化されたあと、3 番目のサブ鍵を使用して暗号化されます。 |
DESedeWrap | RFC 3217 に記述されている DESede 鍵ラッピングアルゴリズム。 |
ECIES | Elliptic Curve Integrated Encryption Scheme |
GCM | NIST Special Publication SP 800-38D で定義された Galois/Counter Mode。 |
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 | PKCS #1 で定義された RSA 暗号化アルゴリズム |
Cipher
のインスタンスを要求する場合、次の名前を変換内の mode コンポーネントとして指定できます。
アルゴリズム名 | 説明 |
---|---|
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 Schneier 著、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 | PKCS #1 に記述されているパディング方式。RSA アルゴリズムとともに使用されます。 |
PKCS5Padding | 「PKCS #5: Password-Based Encryption Standard」バージョン 1.5 (RSA Laboratories、1993 年 11 月) に記述されているパディング方式。 |
SSL3Padding | SSL プロトコルバージョン 3.0 (1996 年 11 月 18 日) のセクション 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
Typesこのセクションのタイプは、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 | 「PKCS #3: 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 アルゴリズムとともに使用する鍵ジェネレータ。 |
KeyManagerFactory
アルゴリズムこのセクションのアルゴリズム名は、KeyManagerFactory
のインスタンスの生成時に指定できます。
アルゴリズム名 | 説明 |
---|---|
PKIX | X509ExtendedKeyManager のファクトリであり、IETF PKIX ワーキンググループによって RFC 3280 またはその後継で定義された規則に従って、ローカル側の認証に使用する X.509 証明書ベースの鍵ペアを管理します。KeyManagerFactory は、クラス javax.net.ssl.KeyStoreBuilderParameters を使用した初期化をサポートする必要があります。 |
KeyPairGenerator
アルゴリズム(特に指定されている場合を除き、これらのクラスは、Key.getAlgorithm()
が標準アルゴリズム名を返す鍵を作成します。)
このセクションのアルゴリズム名は、KeyPairGenerator
のインスタンスの生成時に指定できます。
アルゴリズム名 | 説明 |
---|---|
DiffieHellman | Diffie-Hellman KeyAgreement アルゴリズムの鍵ペアを生成します。
注: |
DSA | デジタル署名アルゴリズムの鍵ペアを生成します。 |
RSA | RSA アルゴリズム (Signature/Cipher) の鍵ペアを生成します。 |
EC | Elliptic Curve アルゴリズムの鍵ペアを生成します。 |
KeyStore
タイプこのセクションのタイプは、KeyStore
のインスタンスの生成時に指定できます。
型 | 説明 |
---|---|
jceks | SunJCE プロバイダによって提供されている独自のキーストア実装。 |
jks | SUN プロバイダによって提供されている独自のキーストア実装。 |
pkcs12 | PKCS #12 で定義されている、個人のアイデンティティー情報のための転送構文。 |
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> | パスワードベースのメッセージ認証規格である PKCS #5 v2.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 で定義されたハッシュアルゴリズム。 SHA-256 は、衝突攻撃に備えて 128 ビットのセキュリティーを提供するための 256 ビットハッシュ機能であり、SHA-512 は、256 ビットのセキュリティーを提供するための 512 ビットハッシュ機能です。SHA-512 の出力を切り詰めることによって、384 ビットのハッシュを得ることができます。 |
Policy
Typesこのセクションのタイプは、Policy
のインスタンスの生成時に指定できます。
型 | 説明 |
---|---|
JavaPolicy | PolicyFile ガイドに記述されている SUN プロバイダのデフォルトの Policy 実装。このタイプは、有効な Policy.Parameter タイプとして java.security.URIParameter を受け入れます。このパラメータが指定されていない場合は、PolicyFile ガイドの「ポリシーファイルのデフォルトの場所」セクションに記述されているソースからポリシー情報がロードされます。このパラメータが指定されている場合は、指定されている URI からのみポリシー情報がロードされます。 |
SaslClient
メカニズムこのセクションのメカニズムは、SaslClient
のインスタンスの生成時に指定できます。
メカニズム | 説明 |
---|---|
CRAM-MD5 | RFC 2195 を参照してください。このメカニズムは、ハッシュされたユーザー名/パスワード認証方式をサポートしています。 |
DIGEST-MD5 | RFC 2831 を参照してください。HTTP Digest Authentication を SASL メカニズムとして使用する方法を定義します。 |
EXTERNAL | RFC 2222 を参照してください。このメカニズムは、TLS や IPsec などの外部チャネルから認証情報を取得します。 |
GSSAPI | RFC 2222 を参照してください。このメカニズムは、GSSAPI を使用して認証情報を取得します。Kerberos v5 認証をサポートしています。 |
PLAIN | RFC 2595 を参照してください。このメカニズムは、クリアテキストユーザー名/パスワード認証をサポートしています。 |
SaslServer
メカニズムこのセクションのメカニズムは、SaslServer
のインスタンスの生成時に指定できます。
メカニズム | 説明 |
---|---|
CRAM-MD5 | RFC 2195 を参照してください。このメカニズムは、ハッシュ化されたユーザー名/パスワード認証方式をサポートしています。 |
DIGEST-MD5 | RFC 2831 を参照してください。HTTP Digest Authentication を SASL メカニズムとして使用する方法を定義します。 |
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 | PKCS #5 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 署名アルゴリズムについては、PKCS #1 を参照してください。 |
MD2withRSA MD5withRSA |
PKCS #1 で定義された、RSA 暗号を使用した MD2/MD5 署名アルゴリズム。MD2/MD5 ダイジェストアルゴリズムおよび RSA を使用して RSA デジタル署名を作成および検証します。 |
SHA1withRSA SHA256withRSA SHA384withRSA SHA512withRSA |
OSI Interoperability Workshop で定義された、SHA-* および RSA 暗号化アルゴリズムを使用した署名アルゴリズム。PKCS #1 に記述されているパディング規則を使用します。 |
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 など) も同じ形式で指定されています。
PKCS #1 v2.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 をサポートします。ほかのバージョンをサポートする場合もあります |
TLSv1.2 | RFC 5246: TLS version 1.2 をサポートします。ほかのバージョンをサポートする場合もあります |
TrustManagerFactory
アルゴリズムこのセクションのアルゴリズム名は、TrustManagerFactory
のインスタンスの生成時に指定できます。
アルゴリズム名 | 説明 |
---|---|
PKIX | X509ExtendedTrustManager オブジェクトのファクトリであり、IETF PKIX ワーキンググループによって RFC 3280 またはその後継で定義された規則に従って、証明書チェーンを検証します。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 暗号化方式群の名前を示しています。さまざまなグループによって、SSL/TLS 名前空間に暗号化方式群が段階的に追加されました。一部の JSSE 暗号化方式群の名前は、TLSv1.0 がファイナライズされる前に定義されました。このため、接頭辞 SSL_
が付与されています。接頭辞 TLS_
が付与されて TLS RFC 内で説明されている名前は、接頭辞 SSL_
が付与されている JSSE 暗号化方式群と機能的に同等です。
SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA |
SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 |
SSL_DH_anon_WITH_3DES_EDE_CBC_SHA |
TLS_DH_anon_WITH_AES_128_CBC_SHA |
TLS_DH_anon_WITH_AES_128_CBC_SHA256 |
TLS_DH_anon_WITH_AES_128_GCM_SHA256 |
TLS_DH_anon_WITH_AES_256_CBC_SHA |
TLS_DH_anon_WITH_AES_256_CBC_SHA256 |
TLS_DH_anon_WITH_AES_256_GCM_SHA384 |
TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA |
TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA |
TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_DH_anon_WITH_DES_CBC_SHA |
SSL_DH_anon_WITH_RC4_128_MD5 |
TLS_DH_anon_WITH_SEED_CBC_SHA |
SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA |
SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA |
TLS_DH_DSS_WITH_AES_128_CBC_SHA |
TLS_DH_DSS_WITH_AES_128_CBC_SHA256 |
TLS_DH_DSS_WITH_AES_128_GCM_SHA256 |
TLS_DH_DSS_WITH_AES_256_CBC_SHA |
TLS_DH_DSS_WITH_AES_256_CBC_SHA256 |
TLS_DH_DSS_WITH_AES_256_GCM_SHA384 |
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA |
TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA |
TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_DH_DSS_WITH_DES_CBC_SHA |
TLS_DH_DSS_WITH_SEED_CBC_SHA |
SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA |
SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_DH_RSA_WITH_AES_128_CBC_SHA |
TLS_DH_RSA_WITH_AES_128_CBC_SHA256 |
TLS_DH_RSA_WITH_AES_128_GCM_SHA256 |
TLS_DH_RSA_WITH_AES_256_CBC_SHA |
TLS_DH_RSA_WITH_AES_256_CBC_SHA256 |
TLS_DH_RSA_WITH_AES_256_GCM_SHA384 |
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA |
TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA |
TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_DH_RSA_WITH_DES_CBC_SHA |
TLS_DH_RSA_WITH_SEED_CBC_SHA |
SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA |
SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA |
SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA |
SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA |
TLS_DHE_DSS_WITH_AES_128_CBC_SHA256 |
TLS_DHE_DSS_WITH_AES_128_GCM_SHA256 |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA |
TLS_DHE_DSS_WITH_AES_256_CBC_SHA256 |
TLS_DHE_DSS_WITH_AES_256_GCM_SHA384 |
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA |
TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA |
TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_DHE_DSS_WITH_DES_CBC_SHA |
SSL_DHE_DSS_WITH_RC4_128_SHA |
TLS_DHE_DSS_WITH_SEED_CBC_SHA |
TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA |
TLS_DHE_PSK_WITH_AES_128_CBC_SHA |
TLS_DHE_PSK_WITH_AES_128_CBC_SHA256 |
TLS_DHE_PSK_WITH_AES_128_GCM_SHA256 |
TLS_DHE_PSK_WITH_AES_256_CBC_SHA |
TLS_DHE_PSK_WITH_AES_256_CBC_SHA384 |
TLS_DHE_PSK_WITH_AES_256_GCM_SHA384 |
TLS_DHE_PSK_WITH_NULL_SHA |
TLS_DHE_PSK_WITH_NULL_SHA256 |
TLS_DHE_PSK_WITH_NULL_SHA384 |
TLS_DHE_PSK_WITH_RC4_128_SHA |
SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA |
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA |
TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 |
TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA |
TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 |
TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 |
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA |
TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA |
TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_DHE_RSA_WITH_DES_CBC_SHA |
TLS_DHE_RSA_WITH_SEED_CBC_SHA |
TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA |
TLS_ECDH_anon_WITH_AES_128_CBC_SHA |
TLS_ECDH_anon_WITH_AES_256_CBC_SHA |
TLS_ECDH_anon_WITH_NULL_SHA |
TLS_ECDH_anon_WITH_RC4_128_SHA |
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA |
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256 |
TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 |
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA |
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384 |
TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 |
TLS_ECDH_ECDSA_WITH_NULL_SHA |
TLS_ECDH_ECDSA_WITH_RC4_128_SHA |
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA |
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256 |
TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256 |
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA |
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384 |
TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384 |
TLS_ECDH_RSA_WITH_NULL_SHA |
TLS_ECDH_RSA_WITH_RC4_128_SHA |
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA |
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 |
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA |
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 |
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 |
TLS_ECDHE_ECDSA_WITH_NULL_SHA |
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA |
TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA |
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA |
TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256 |
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA |
TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384 |
TLS_ECDHE_PSK_WITH_NULL_SHA |
TLS_ECDHE_PSK_WITH_NULL_SHA256 |
TLS_ECDHE_PSK_WITH_NULL_SHA384 |
TLS_ECDHE_PSK_WITH_RC4_128_SHA |
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA |
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 |
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA |
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 |
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 |
TLS_ECDHE_RSA_WITH_NULL_SHA |
TLS_ECDHE_RSA_WITH_RC4_128_SHA |
TLS_EMPTY_RENEGOTIATION_INFO_SCSV * |
SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA |
SSL_FORTEZZA_DMS_WITH_NULL_SHA |
TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5 |
TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA |
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5 |
TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA |
TLS_KRB5_EXPORT_WITH_RC4_40_MD5 |
TLS_KRB5_EXPORT_WITH_RC4_40_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_MD5 |
TLS_KRB5_WITH_IDEA_CBC_SHA |
TLS_KRB5_WITH_RC4_128_MD5 |
TLS_KRB5_WITH_RC4_128_SHA |
TLS_PSK_WITH_3DES_EDE_CBC_SHA |
TLS_PSK_WITH_AES_128_CBC_SHA |
TLS_PSK_WITH_AES_128_CBC_SHA256 |
TLS_PSK_WITH_AES_128_GCM_SHA256 |
TLS_PSK_WITH_AES_256_CBC_SHA |
TLS_PSK_WITH_AES_256_CBC_SHA384 |
TLS_PSK_WITH_AES_256_GCM_SHA384 |
TLS_PSK_WITH_NULL_SHA |
TLS_PSK_WITH_NULL_SHA256 |
TLS_PSK_WITH_NULL_SHA384 |
TLS_PSK_WITH_RC4_128_SHA |
SSL_RSA_EXPORT_WITH_DES40_CBC_SHA |
SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 |
SSL_RSA_EXPORT_WITH_RC4_40_MD5 |
SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA |
SSL_RSA_EXPORT1024_WITH_RC4_56_SHA |
SSL_RSA_FIPS_WITH_3DES_EDE_CBC_SHA |
SSL_RSA_FIPS_WITH_DES_CBC_SHA |
TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA |
TLS_RSA_PSK_WITH_AES_128_CBC_SHA |
TLS_RSA_PSK_WITH_AES_128_CBC_SHA256 |
TLS_RSA_PSK_WITH_AES_128_GCM_SHA256 |
TLS_RSA_PSK_WITH_AES_256_CBC_SHA |
TLS_RSA_PSK_WITH_AES_256_CBC_SHA384 |
TLS_RSA_PSK_WITH_AES_256_GCM_SHA384 |
TLS_RSA_PSK_WITH_NULL_SHA |
TLS_RSA_PSK_WITH_NULL_SHA256 |
TLS_RSA_PSK_WITH_NULL_SHA384 |
TLS_RSA_PSK_WITH_RC4_128_SHA |
SSL_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_RSA_WITH_AES_128_CBC_SHA |
TLS_RSA_WITH_AES_128_CBC_SHA256 |
TLS_RSA_WITH_AES_128_GCM_SHA256 |
TLS_RSA_WITH_AES_256_CBC_SHA |
TLS_RSA_WITH_AES_256_CBC_SHA256 |
TLS_RSA_WITH_AES_256_GCM_SHA384 |
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA |
TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256 |
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA |
TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256 |
SSL_RSA_WITH_DES_CBC_SHA |
SSL_RSA_WITH_IDEA_CBC_SHA |
SSL_RSA_WITH_NULL_MD5 |
SSL_RSA_WITH_NULL_SHA |
TLS_RSA_WITH_NULL_SHA256 |
SSL_RSA_WITH_RC4_128_MD5 |
SSL_RSA_WITH_RC4_128_SHA |
TLS_RSA_WITH_SEED_CBC_SHA |
TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA |
TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA |
TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA |
TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA |
TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA |
TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA |
TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA |
TLS_SRP_SHA_WITH_AES_128_CBC_SHA |
TLS_SRP_SHA_WITH_AES_256_CBC_SHA |
* TLS_EMPTY_RENEGOTIATION_INFO_SCSV
は、RFC 5746 をサポートするための新しい擬似暗号化方式群です。詳細は、JSSE リファレンスガイドの「Transport Layer Security (TLS) 再ネゴシエーションの問題」セクションを参照してください。
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 に定義) |
TLSv1.2 | TLS バージョン 1.2 プロトコル (RFC 5246 に定義) |
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
パラメータは、認証のタイプを示します。次の表に、クライアントまたはサーバーの証明書チェーンで使用される標準名を示します。
クライアントまたはサーバーの証明書チェーン | 認証の標準名 |
---|---|
Client | 実際に使用する証明書によって異なります。たとえば、RSAPublicKey を使用する場合、authType は "RSA" になります。 |
Server | 暗号化方式群の鍵交換アルゴリズム部分が、"RSA"、"DHE_DSS" のような文字列で表されます。注:エクスポート可能な暗号化方式群では、実行時、ハンドシェーク中に鍵交換アルゴリズムが決定される場合があります。たとえば、TLS_RSA_EXPORT_WITH_RC4_40_MD5 の authType は、一時的な RSA 鍵を使って鍵交換を行う場合は "RSA_EXPORT"、サーバー証明書の鍵を使用する場合は "RSA" になります。それ以外の場合は "UNKNOWN" になります。 |
Java SE 7 リリースでは、TLS 1.2 のエンドポイント識別アルゴリズムがサポートされます。javax.net.ssl.SSLParameters
の setEndpointIdentificationAlgorithm()
メソッドにアルゴリズム名を渡すことができます。次の表に、現在認識される名前を示します。
エンドポイント識別 アルゴリズム名 |
仕様 |
---|---|
HTTPS | http://www.ietf.org/rfc/rfc2818.txt |
LDAPS | http://www.ietf.org/rfc/rfc2830.txt |
このセクションでは、このドキュメントで定義したいくつかのアルゴリズムに関する詳細を示します。一覧されているアルゴリズムの実装を提供するプロバイダは、このセクションの仕様に従う必要があります。
ここに記載のない新しいアルゴリズムを追加するには、最初にプロバイダパッケージの供給先に問い合わせて、該当アルゴリズムが追加済みでないかどうかを確認します。すでに追加されている場合は、可能であれば開示されている定義を使います。まだ追加されていない場合は、提供するアルゴリズムの仕様を添えて、このセクションに記載したテンプレートと同じようなテンプレートを作成し、使用できるようにしてください。
次の表に、アルゴリズムの仕様のフィールドを示します。
Field | 説明 |
---|---|
名前 | アルゴリズムの認識名。これは、既存のアルゴリズムオブジェクト名を判別するために、(アルゴリズムの要求時に) getInstance メソッドに渡される名前で、getAlgorithm メソッドによって返されます。これらのメソッドは、関連するエンジンクラス Signature 、MessageDigest 、KeyPairGenerator 、および AlgorithmParameterGenerator 内にあります。 |
型 | アルゴリズムのタイプ。Signature 、MessageDigest 、KeyPairGenerator 、または ParameterGenerator のいずれかです。 |
説明 | アルゴリズムに関する一般注意。アルゴリズムにより実装される標準、実用向き特許などを含みます。 |
KeyPair アルゴリズム (オプション指定) |
このアルゴリズムの KeyPair アルゴリズムを示します。 |
キーサイズ (オプション指定) | 鍵アルゴリズムまたは鍵生成アルゴリズムの場合は、正しいキーサイズを示します。 |
サイズ (オプション指定) |
アルゴリズムパラメータ生成アルゴリズムの場合は、アルゴリズムパラメータ生成の正しい「サイズ」を示します。 |
パラメータのデフォルト値 (オプション指定) |
鍵生成アルゴリズムの場合は、デフォルトのパラメータ値を示します。 |
|
Signature アルゴリズムの場合に、署名のフォーマットを示します。つまり、検証メソッドの入力と署名メソッドの出力です。 |
Field | 説明 | |
---|---|---|
名前 | SHA-1 | |
型 | MessageDigest |
|
説明 | NIST の FIPS 180-2 で定義されたメッセージダイジェストアルゴリズム。このアルゴリズムの出力は 160 ビットのダイジェストです。 |
Field | 説明 | |
---|---|---|
名前 | MD2 | |
型 | MessageDigest |
|
説明 | RFC 1319 で定義されているメッセージダイジェストアルゴリズム。このアルゴリズムの出力は 128 ビット (16 バイト) のダイジェストです。 |
Field | 説明 | |
---|---|---|
名前 | MD5 | |
型 | MessageDigest |
|
説明 | RFC 1321 で定義されているメッセージダイジェストアルゴリズム。このアルゴリズムの出力は 128 ビット (16 バイト) のダイジェストです。 |
Field | 説明 | |
---|---|---|
名前 | SHA1withDSA | |
型 | Signature |
|
説明 | このアルゴリズムは、NIST FIPS 186 に記述されている署名アルゴリズムです。DSA を SHA-1 メッセージダイジェストアルゴリズムとともに使用します。 | |
KeyPair アルゴリズム |
DSA | |
署名フォーマット | ASN.1 の 2 つの INTEGER 値のシーケンス。r および s (この順序):SEQUENCE ::= { r INTEGER, s INTEGER } |
Field | 説明 | |
---|---|---|
名前 | MD2withRSA、MD5withRSA、および SHA1withRSA | |
型 | Signature |
|
説明 | それぞれに MD2、MD5、および SHA-1 メッセージアルゴリズムを RSA 暗号化とともに使う署名アルゴリズムです。 | |
KeyPair アルゴリズム |
RSA | |
署名フォーマット | RSA Laboratories の PKCS #1 で定義された DER エンコード PKCS1 ブロック。暗号化データは署名付きデータのダイジェストです。 |
Field | 説明 | |
---|---|---|
名前 | 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 |
Field | 説明 | |
---|---|---|
名前 | RSA | |
型 | KeyPairGenerator |
|
説明 | このアルゴリズムは、PKCS #1 に記述されている鍵ペア生成アルゴリズムです。 | |
強度 | 512 以上で 8 の倍数の任意の整数。 |
Field | 説明 | |
---|---|---|
名前 | DSA | |
型 | ParameterGenerator |
|
説明 | このアルゴリズムは、DSA に関する NIST FIPS 186 に記述されているパラメータ生成アルゴリズムです。 | |
強度 | モジュラス p の長さ (ビット単位)。512 から 1024 の範囲で、64 の倍数である必要があります。デフォルトのサイズは 1024 です。 |
このセクションでは、Java SE 7 実装のセキュリティーアルゴリズム要件を定義します。この要件は、Java SE 7 実装とこのアルゴリズムを使用するアプリケーションの相互運用性を向上することを意図しています。
このセクションでの要件は、アルゴリズムの強度またはセキュリティーの指標とはなりません。たとえば、近年発達した暗号解析によって、MD5 MessageDigest アルゴリズムの強度に弱点が見つかりました。アルゴリズムがアプリケーションのセキュリティー要件を満たしているかどうかを判断する必要があります。
Java SE 7 プラットフォームの各実装は、次の表の指定されたアルゴリズムをサポートする必要があります。これらの要件は、サードパーティープロバイダには当てはまりません。サポートされているその他のアルゴリズムについては、実装のリリースドキュメントを参照してください。
クラス | アルゴリズム名 |
---|---|
AlgorithmParameterGenerator 実装は、括弧内のキーサイズをサポートする必要があります。 |
DiffieHellman (1024) DSA (1024) |
AlgorithmParameters |
AES DES DESede DiffieHellman DSA |
CertificateFactory |
X.509 |
CertPath エンコーディング |
PKCS7 PkiPath |
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 (1024、2048) RSA/ECB/OAEPWithSHA-1AndMGF1Padding (1024、2048) RSA/ECB/OAEPWithSHA-256AndMGF1Padding (1024、2048) |
Configuration [1] |
|
KeyAgreement |
DiffieHellman |
KeyFactory |
DiffieHellman DSA RSA |
KeyGenerator 実装は、括弧内のキーサイズをサポートする必要があります。 |
AES (128) DES (56) DESede (168) HmacSHA1 HmacSHA256 |
KeyPairGenerator 実装は、括弧内のキーサイズをサポートする必要があります。 |
DiffieHellman (1024) DSA (1024) RSA (1024、2048) |
KeyStore |
PKCS12 |
Mac |
HmacMD5 HmacSHA1 HmacSHA256 |
MessageDigest |
MD5 SHA-1 SHA-256 |
Policy [1] |
|
SecretKeyFactory |
DES DESede |
SecureRandom [1] |
|
Signature |
SHA1withDSA SHA1withRSA SHA256withRSA |
SSLContext |
TLSv1 [2] |
[1] 特定の Configuration
タイプ、Policy
タイプ、または SecureRandom
アルゴリズムは要求されませんが、実装固有のデフォルトを提供する必要があります。
[2] TLSv1 の実装は、RFC 2246 で定義された暗号化方式群 SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA と、RFC 5746 で定義された安全な再ネゴシエーションのための特別な通知用暗号化方式群 TLS_EMPTY_RENEGOTIATION_INFO_SCSV をサポートする必要があります。
Java SE 7 プラットフォームの各実装は、次の表の指定された XML 署名アルゴリズムをサポートする必要があります。これらの要件は、サードパーティープロバイダには当てはまりません。サポートされているその他のアルゴリズムについては、実装のリリースドキュメントを参照してください。
クラス | アルゴリズム名 |
---|---|
TransformService |
http://www.w3.org/2001/10/xml-exc-c14n# (CanonicalizationMethod.EXCLUSIVE )http://www.w3.org/TR/2001/REC-xml-c14n-20010315 ( CanonicalizationMethod.INCLUSIVE )http://www.w3.org/2000/09/xmldsig#base64 ( Transform.BASE64 )http://www.w3.org/2000/09/xmldsig#enveloped-signature ( Transform.ENVELOPED ) |
XMLSignatureFactory |
DOM |