Module java.base

Class PKCS8EncodedKeySpec

java.lang.Object
java.security.spec.EncodedKeySpec
java.security.spec.PKCS8EncodedKeySpec
所有已实现的接口:
KeySpec

public class PKCS8EncodedKeySpec extends EncodedKeySpec
该类表示私钥的ASN.1编码,根据ASN.1类型PrivateKeyInfo进行编码。 PrivateKeyInfo语法在PKCS#8标准中定义如下:
 PrivateKeyInfo ::= SEQUENCE {
   version Version,
   privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
   privateKey PrivateKey,
   attributes [0] IMPLICIT Attributes OPTIONAL }

 Version ::= INTEGER

 PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier

 PrivateKey ::= OCTET STRING

 Attributes ::= SET OF Attribute
 
自 JDK 版本:
1.2
参见:
  • Constructor Details

    • PKCS8EncodedKeySpec

      public PKCS8EncodedKeySpec(byte[] encodedKey)
      创建一个带有给定编码密钥的新PKCS8EncodedKeySpec
      参数:
      encodedKey - 密钥,假定根据PKCS #8标准进行编码。数组的内容会被复制以防止后续修改。
      抛出:
      NullPointerException - 如果encodedKey为null。
    • PKCS8EncodedKeySpec

      public PKCS8EncodedKeySpec(byte[] encodedKey, String algorithm)
      创建一个带有给定编码密钥和算法的新PKCS8EncodedKeySpec。当后续调用PKCS8EncodedKeySpec对象的调用者可能不知道私钥的算法时,此构造函数很有用。
      参数:
      encodedKey - 密钥,假定根据PKCS #8标准进行编码。数组的内容会被复制以防止后续修改。
      algorithm - 编码私钥的算法名称。有关标准算法名称的信息,请参阅Java安全标准算法名称规范中的KeyFactory部分。
      抛出:
      NullPointerException - 如果encodedKeyalgorithm为null。
      IllegalArgumentException - 如果algorithm为空字符串""
      自 JDK 版本:
      9
  • Method Details

    • getEncoded

      public byte[] getEncoded()
      返回按照PKCS #8标准编码的密钥字节。
      覆盖:
      getEncoded 在类中 EncodedKeySpec
      返回:
      密钥的PKCS #8编码。每次调用此方法时都会返回一个新数组。
    • getFormat

      public final String getFormat()
      返回与此密钥规范关联的编码格式的名称。
      指定者:
      getFormat 在类中 EncodedKeySpec
      返回:
      字符串"PKCS#8"