Class ECDSAKeyAlgorithm

    • Field Detail

      • ECDSA_SHA2_PREFIX

        private static final java.lang.String ECDSA_SHA2_PREFIX
        See Also:
        Constant Field Values
      • curveName

        private final java.lang.String curveName
      • ecParameterSpec

        private final java.security.spec.ECParameterSpec ecParameterSpec
    • Constructor Detail

      • ECDSAKeyAlgorithm

        private ECDSAKeyAlgorithm​(java.lang.String signatureAlgorithm,
                                  java.lang.String curveName,
                                  java.security.spec.ECParameterSpec ecParameterSpec)
    • Method Detail

      • getCurveName

        java.lang.String getCurveName()
      • getEcParameterSpec

        java.security.spec.ECParameterSpec getEcParameterSpec()
      • decodePublicKey

        public java.security.interfaces.ECPublicKey decodePublicKey​(byte[] key)
                                                             throws java.io.IOException
        Specified by:
        decodePublicKey in class KeyAlgorithm<java.security.interfaces.ECPublicKey,​java.security.interfaces.ECPrivateKey>
        Throws:
        java.io.IOException
      • encodePublicKey

        public byte[] encodePublicKey​(java.security.interfaces.ECPublicKey key)
                               throws java.io.IOException
        Specified by:
        encodePublicKey in class KeyAlgorithm<java.security.interfaces.ECPublicKey,​java.security.interfaces.ECPrivateKey>
        Throws:
        java.io.IOException
      • decodeSignature

        public byte[] decodeSignature​(byte[] encodedSignature)
                               throws java.io.IOException
        Specified by:
        decodeSignature in class KeyAlgorithm<java.security.interfaces.ECPublicKey,​java.security.interfaces.ECPrivateKey>
        Throws:
        java.io.IOException
      • writeLength

        private static void writeLength​(int length,
                                        java.io.OutputStream os)
                                 throws java.io.IOException
        Throws:
        java.io.IOException
      • encodeSignature

        public byte[] encodeSignature​(byte[] sig)
                               throws java.io.IOException
        Specified by:
        encodeSignature in class KeyAlgorithm<java.security.interfaces.ECPublicKey,​java.security.interfaces.ECPrivateKey>
        Throws:
        java.io.IOException
      • supportsKey

        public boolean supportsKey​(java.security.PrivateKey originalKey)
        Overrides:
        supportsKey in class KeyAlgorithm<java.security.interfaces.ECPublicKey,​java.security.interfaces.ECPrivateKey>
      • decodePoint

        private static java.security.spec.ECPoint decodePoint​(byte[] encodedPoint,
                                                              java.security.spec.EllipticCurve curve)
      • encodePoint

        private static byte[] encodePoint​(java.security.spec.ECPoint group,
                                          java.security.spec.EllipticCurve curve)
      • removeLeadingZeroes

        private static byte[] removeLeadingZeroes​(byte[] input)