Class ECDSAKeys

java.lang.Object
org.jclouds.digitalocean2.ssh.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:
  • Field Details

  • Constructor Details

    • ECDSAKeys

      public ECDSAKeys()
  • Method Details

    • encodeAsOpenSSH

      public static String encodeAsOpenSSH(ECPublicKey key)
    • publicKeySpecFromOpenSSH

      public static ECPublicKeySpec publicKeySpecFromOpenSSH(String ecDsaPub)
      Executes
      invalid reference
      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:
      • invalid reference
        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