Class ECDSAKeys


  • public class ECDSAKeys
    extends Object
    Utility methods to work with ECDSA Elliptic Curve DSA keys.

    Methods in this class should be moved to the SshKeys class.

    See Also:
    SshKeys
    • Constructor Detail

      • ECDSAKeys

        public ECDSAKeys()
    • Method Detail

      • publicKeySpecFromOpenSSH

        public static ECPublicKeySpec publicKeySpecFromOpenSSH​(String ecDsaPub)
        Executes org.jclouds.crypto.Pems#publicKeySpecFromOpenSSH(com.google.common.io.InputSupplier) on the string which was OpenSSH Base64 Encoded id_rsa.pub
        Parameters:
        idRsaPub - formatted ssh-dss AAAAB3NzaC1yc2EAAAADAQABAAAB...
        See Also:
        org.jclouds.crypto.Pems#publicKeySpecFromOpenSSH(com.google.common.io.InputSupplier)
      • publicKeySpecFromOpenSSH

        public static ECPublicKeySpec publicKeySpecFromOpenSSH​(com.google.common.io.ByteSource supplier)
                                                        throws IOException
        Returns DSAPublicKeySpec which was OpenSSH Base64 Encoded id_rsa.pub
        Parameters:
        supplier - the input stream factory, formatted ssh-dss AAAAB3NzaC1yc2EAAAADAQABAAAB...
        Returns:
        the DSAPublicKeySpec which was OpenSSH Base64 Encoded id_rsa.pub
        Throws:
        IOException - if an I/O error occurs
      • fingerprintPublicKey

        public static String fingerprintPublicKey​(String publicKeyOpenSSH)
                                           throws IOException
        Parameters:
        publicKeyOpenSSH - RSA public key in OpenSSH format
        Returns:
        fingerprint ex. 2b:a9:62:95:5b:8b:1d:61:e0:92:f7:03:10:e9:db:d9
        Throws:
        IOException
      • fingerprint

        public static String fingerprint​(ECPublicKey publicKey)
        Create a fingerprint per the following spec
        Returns:
        hex fingerprint ex. 2b:a9:62:95:5b:8b:1d:61:e0:92:f7:03:10:e9:db:d9
      • encodeECPoint

        public static byte[] encodeECPoint​(ECPoint group,
                                           EllipticCurve curve)
        Encode EllipticCurvePoint to an OctetString
      • decodeECPoint

        public static ECPoint decodeECPoint​(byte[] M,
                                            EllipticCurve curve)
        Decode an OctetString to EllipticCurvePoint according to SECG 2.3.4