Class EdDSAPrivateKey

    • Method Detail

      • getEncoded

        public byte[] getEncoded()
        Returns the private key in its canonical encoding.

        This implements the following specs:

        • General encoding: https://tools.ietf.org/html/rfc8410
        • Key encoding: https://tools.ietf.org/html/rfc8032

        This encodes the seed. It will return null if constructed from a spec which was directly constructed from H, in which case seed is null.

        For keys in older formats, decoding and then re-encoding is sufficient to migrate them to the canonical encoding.

        Relevant spec quotes:

          OneAsymmetricKey ::= SEQUENCE {
            version Version,
            privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,
            privateKey PrivateKey,
            attributes [0] IMPLICIT Attributes OPTIONAL,
            ...,
            [[2: publicKey [1] IMPLICIT PublicKey OPTIONAL ]],
            ...
          }
        
          Version ::= INTEGER
          PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
          PrivateKey ::= OCTET STRING
          PublicKey ::= BIT STRING
          Attributes ::= SET OF Attribute
         
          ... when encoding a OneAsymmetricKey object, the private key is wrapped
          in a CurvePrivateKey object and wrapped by the OCTET STRING of the
          "privateKey" field.
        
          CurvePrivateKey ::= OCTET STRING
         
          AlgorithmIdentifier  ::=  SEQUENCE  {
            algorithm   OBJECT IDENTIFIER,
            parameters  ANY DEFINED BY algorithm OPTIONAL
          }
        
          For all of the OIDs, the parameters MUST be absent.
         
          id-Ed25519   OBJECT IDENTIFIER ::= { 1 3 101 112 }
         
        Specified by:
        getEncoded in interface Key
        Returns:
        48 bytes for Ed25519, null for other curves
        Since:
        implemented in 0.9.25
      • getParams

        public EdDSAParameterSpec getParams()
        Specified by:
        getParams in interface EdDSAKey
        Returns:
        a parameter specification representing the EdDSA domain parameters for the key.
      • getSeed

        public byte[] getSeed()
        Returns:
        will be null if constructed from a spec which was directly constructed from H
      • getH

        public byte[] getH()
        Returns:
        the hash of the seed
      • geta

        public byte[] geta()
        Returns:
        the private key
      • getAbyte

        public byte[] getAbyte()
        Returns:
        the public key
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
        Since:
        0.9.25
      • equals

        public boolean equals​(Object o)
        Overrides:
        equals in class Object
        Since:
        0.9.25