モジュール 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 5280Internet 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。