Module java.base
Package java.security

Class KeyRep

    • Constructor Detail

      • KeyRep

        public KeyRep​(KeyRep.Type type,
                      String algorithm,
                      String format,
                      byte[] encoded)
        Construct the alternate Key class.
        Parameters:
        type - either one of Type.SECRET, Type.PUBLIC, or Type.PRIVATE
        algorithm - the algorithm returned from Key.getAlgorithm()
        format - the encoding format returned from Key.getFormat()
        encoded - the encoded bytes returned from Key.getEncoded()
        Throws:
        NullPointerException - if type is null, if algorithm is null, if format is null, or if encoded is null
    • Method Detail

      • readResolve

        protected Object readResolve​()
                              throws ObjectStreamException
        Resolve the Key object.

        This method supports three Type/format combinations:

        • Type.SECRET/"RAW" - returns a SecretKeySpec object constructed using encoded key bytes and algorithm
        • Type.PUBLIC/"X.509" - gets a KeyFactory instance for the key algorithm, constructs an X509EncodedKeySpec with the encoded key bytes, and generates a public key from the spec
        • Type.PRIVATE/"PKCS#8" - gets a KeyFactory instance for the key algorithm, constructs a PKCS8EncodedKeySpec with the encoded key bytes, and generates a private key from the spec
        Returns:
        the resolved Key object
        Throws:
        ObjectStreamException - if the Type/format combination is unrecognized, if the algorithm, key format, or encoded key bytes are unrecognized/invalid, of if the resolution of the key fails for any reason