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

インタフェースKey

すべてのスーパー・インタフェース:
Serializable
既知のすべてのサブインタフェース:
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インタフェースは、すべてのキーに対する最上位のインタフェースです。 すべてのキー・オブジェクトが共有する機能を定義します。 すべてのキーには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には、信頼できない環境では公開すべきでない機密情報が含まれる可能性がある点に注意してください。 詳細は、直列化仕様のセキュリティに関する付録を参照してください。

導入されたバージョン:
1.1
関連項目:
PublicKey, PrivateKey, KeyPair, KeyPairGenerator, KeyFactory, KeyRep, KeySpec, Identity, Signer
  • フィールドのサマリー

    フィールド
    修飾子と型
    フィールド
    説明
    static long
    非推奨。
    インタフェース内のserialVersionUIDフィールドは無効です。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    このキーに対する標準アルゴリズムを返します。
    byte[]
    キーをプライマリ・エンコード形式で返します。キーがエンコードをサポートしていない場合は、nullを返します。
    このキーの一次符号化形式の名前を返します。このキーが符号化をサポートしていない場合は、nullを返します。
  • フィールド詳細

    • serialVersionUID

      @Deprecated static final long serialVersionUID
      非推奨。
      インタフェース内のserialVersionUIDフィールドは無効です。 使用しないでください; 代替なし。
      クラスのフィンガ・プリントを設定して、このクラスの前のバージョンとの互換性を直列化して表示します。
      関連項目:
      定数フィールド値
  • メソッドの詳細

    • getAlgorithm

      String getAlgorithm()
      このキーに対する標準アルゴリズムを返します。 たとえば、「DSA」はこのキーがDSAキーであることを示します。 標準キー・アルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」の(KeyFactory、KeyGenerator、KeyPairGeneratorおよびSecretKeyFactory)に関するキー関連のセクションを参照してください。
      戻り値:
      このキーに関連したアルゴリズムの名前。
    • getFormat

      String getFormat()
      このキーの一次符号化形式の名前を返します。このキーが符号化をサポートしていない場合は、nullを返します。 一次符号化形式は、このキーに対応するASN.1仕様が存在する場合、適切なASN.1データ形式によって名付けられます。 たとえば、公開キーに対応するASN.1データフォーマットの名前が、X.509標準によって定義されているとおりSubjectPublicKeyInfoである場合、返されるフォーマットは"X.509"になります。 同様に、非公開キーに対応するASN.1データフォーマットの名前が、PKCS#8標準によって定義されているとおりPrivateKeyInfoである場合、返されるフォーマットは"PKCS#8"になります。
      戻り値:
      キーの一次符号化形式
    • getEncoded

      byte[] getEncoded()
      キーをプライマリ・エンコード形式で返します。キーがエンコードをサポートしていない場合は、nullを返します。
      戻り値:
      符号化されたキー。キーが符号化をサポートしていない場合はnull。