モジュール java.base
パッケージ java.security

インタフェースKey

すべてのスーパー・インタフェース:
Serializable
既知のすべてのサブインタフェース:
AsymmetricKey, DHPrivateKey, DHPublicKey, DSAPrivateKey, DSAPublicKey, ECPrivateKey, ECPublicKey, EdECPrivateKey, EdECPublicKey, PBEKey, PrivateKey, PublicKey, RSAMultiPrimePrivateCrtKey, RSAPrivateCrtKey, RSAPrivateKey, RSAPublicKey, SecretKey, XECPrivateKey, XECPublicKey
既知のすべての実装クラス:
EncryptionKey, KerberosKey, SecretKeySpec

public interface Key extends Serializable
Keyインタフェースは、すべてのキーの最上位インタフェースです。 すべてのKeyオブジェクトで共有される機能を定義します。 すべてのキーには3つの特性があります。
  • アルゴリズム

    キーに対するキーのアルゴリズムです。 キー・アルゴリズムとは、通常の場合、暗号化アルゴリズムか非対称操作アルゴリズム(DSAまたはRSA)のことであり、そのようなアルゴリズムや関連するアルゴリズム(RSAを使ったMD5、RSAを使ったSHA-1、Raw DSAなど)と協調動作をします。キー・アルゴリズムの名前は、getAlgorithmメソッドを使用して取得できます。

  • コード化形式

    これはキーの外部コード化形式で、キーを別の組織に転送する場合に、キーの標準表示がJava仮想マシンの外部で必要なときに使います。 キーは標準形式(X.509 SubjectPublicKeyInfoやPKCS#8など)に従ってコード化され、getEncodedメソッドを使用して返されます。 ノート: ANS.1 SubjectPublicKeyInfoの構文は、次のように定義されます。

     SubjectPublicKeyInfo ::= SEQUENCE {
       algorithm AlgorithmIdentifier,
       subjectPublicKey BIT STRING }
    
     AlgorithmIdentifier ::= SEQUENCE {
       algorithm OBJECT IDENTIFIER,
       parameters ANY DEFINED BY algorithm OPTIONAL }
     
    詳細は、RFC 5280「Internet X.509 Public Key Infrastructure Certificate and CRL Profile」を参照してください。
  • フォーマット

    これはコード化したキーのフォーマット名です。 getFormatメソッドから返されます。

一般に、キーは、キー・ジェネレータ、証明書、キー・ストア、またはキーの管理に使用されるその他のクラスを介して取得されます。 また、キー・ファクトリ(KeyFactoryを参照)の使用を介して、キー仕様(基礎的なキーの素材の透明な表現)から取得することもできます。

Keyはその直列化表現としてKeyRepを使用する必要があります。 直列化されたKeyには、信頼できない環境では公開すべきでない機密情報が含まれる可能性がある点に注意してください。 詳細は、「Javaオブジェクト直列化仕様」「セキュリティに関する付録」を参照してください。

導入されたバージョン:
1.1
関連項目: