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

インタフェースKey

  • すべてのスーパー・インタフェース:
    Serializable
    既知のすべてのサブインタフェース:
    DHPrivateKey, DHPublicKey, DSAPrivateKey, DSAPublicKey, ECPrivateKey, ECPublicKey, 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メソッドから返されます。

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

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

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

      フィールド 
      修飾子と型 フィールド 説明
      static long serialVersionUID
      クラスのフィンガ・プリントを設定して、このクラスの前のバージョンとの互換性を直列化して表示します。
    • メソッドのサマリー

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

      • serialVersionUID

        static final long serialVersionUID
        クラスのフィンガ・プリントを設定して、このクラスの前のバージョンとの互換性を直列化して表示します。
        関連項目:
        定数フィールド値
    • メソッドの詳細

      • getAlgorithm

        String getAlgorithm()
        このキーに対する標準アルゴリズムを返します。 たとえば、「DSA」はこのキーがDSAキーであることを示します。 詳細については、「Javaセキュリティ標準アルゴリズム名」ドキュメントを参照してください。
        戻り値:
        このキーに関連したアルゴリズムの名前。
      • 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。