sealed abstract class DERSignatureUtil extends AnyRef

Created by chris on 3/23/16.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. DERSignatureUtil
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native()
  6. def decodeSignature(bytes: ByteVector): (BigInt, BigInt)

    Decodes the given sequence of bytes into it's r and s points throws an exception if the given sequence of bytes is not a DER encoded signature

  7. def decodeSignature(signature: ECDigitalSignature): (BigInt, BigInt)

    Decodes the given digital signature into it's r and s points

  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable])
  11. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  12. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. def isDEREncoded(bytes: ByteVector): Boolean

    Checks if the bytes are encoded to DER correctly https://crypto.stackexchange.com/questions/1795/how-can-i-convert-a-der-ecdsa-signature-to-asn-1 This will fail if this signature contains the hash type appended to the end of it

    Checks if the bytes are encoded to DER correctly https://crypto.stackexchange.com/questions/1795/how-can-i-convert-a-der-ecdsa-signature-to-asn-1 This will fail if this signature contains the hash type appended to the end of it

    returns

    boolean representing if the signature is a valid

  14. def isDEREncoded(signature: ECDigitalSignature): Boolean

    Checks if this signature is encoded to DER correctly https://crypto.stackexchange.com/questions/1795/how-can-i-convert-a-der-ecdsa-signature-to-asn-1 NOTE: This will fail if this signature contains the hash type appended to the end of it

    Checks if this signature is encoded to DER correctly https://crypto.stackexchange.com/questions/1795/how-can-i-convert-a-der-ecdsa-signature-to-asn-1 NOTE: This will fail if this signature contains the hash type appended to the end of it

    returns

    boolean representing if the signature is a valid

  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. def isLowS(signature: ByteVector): Boolean

    Requires the S value in signatures to be the low version of the S value https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki#low-s-values-in-signatures

    Requires the S value in signatures to be the low version of the S value https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki#low-s-values-in-signatures

    returns

    if the S value is the low version

  17. def isLowS(signature: ECDigitalSignature): Boolean

    Requires the S value in signatures to be the low version of the S value https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki#low-s-values-in-signatures

    Requires the S value in signatures to be the low version of the S value https://github.com/bitcoin/bips/blob/master/bip-0062.mediawiki#low-s-values-in-signatures

    returns

    if the S value is the low version

  18. def isValidSignatureEncoding(bytes: ByteVector): Boolean

    This functions implements the strict der encoding rules that were created in BIP66 https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki https://github.com/bitcoin/bitcoin/blob/master/src/script/interpreter.cpp#L98

    This functions implements the strict der encoding rules that were created in BIP66 https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki https://github.com/bitcoin/bitcoin/blob/master/src/script/interpreter.cpp#L98

    IMPORTANT: This function assumes bytes has a SigHash byte and will fail if not!

    bytes

    the bytes to check if they are strictly der encoded

    returns

    boolean indicating whether the bytes were der encoded or not

  19. def isValidSignatureEncoding(signature: ECDigitalSignature): Boolean

    This functions implements the strict der encoding rules that were created in BIP66 https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki https://github.com/bitcoin/bitcoin/blob/master/src/script/interpreter.cpp#L98

    This functions implements the strict der encoding rules that were created in BIP66 https://github.com/bitcoin/bips/blob/master/bip-0066.mediawiki https://github.com/bitcoin/bitcoin/blob/master/src/script/interpreter.cpp#L98

    IMPORTANT: This function assumes signature has a SigHash byte and will fail if not!

    signature

    the signature to check if they are strictly der encoded

    returns

    boolean indicating whether the signature was der encoded or not

  20. def lowS(signature: ECDigitalSignature): ECDigitalSignature

    Checks if the given digital signature uses a low s value, if it does not it converts it to a low s value and returns it

  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  24. def parseDERLax(input: ByteVector): Option[(BigInt, BigInt)]

    Scala implementation of https://github.com/bitcoin/bitcoin/blob/master/src/pubkey.cpp#L16-L165

    Scala implementation of https://github.com/bitcoin/bitcoin/blob/master/src/pubkey.cpp#L16-L165

    Parses correctly as well as poorly encoded DER signatures.

    "Supported violations include negative integers, excessive padding, garbage at the end, and overly long length descriptors."

    The signatures must still follow the following general format:

    0x30 | total length | 0x02 | R length | [R] \ 0x02 | S length | [S]

    IMPORTANT: Do not use this without further validation when validating blocks because BIP 66 requires that new signatures are verified to be strict DER encodings.

  25. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  26. def toString(): String
    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  28. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  29. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()

Inherited from AnyRef

Inherited from Any

Ungrouped