Package org.web3j.crypto
Class ECDSASignature
- java.lang.Object
-
- org.web3j.crypto.ECDSASignature
-
public class ECDSASignature extends java.lang.ObjectAn ECDSA Signature.
-
-
Constructor Summary
Constructors Constructor Description ECDSASignature(java.math.BigInteger r, java.math.BigInteger s)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanisCanonical()ECDSASignaturetoCanonicalised()Will automatically adjust the S component to be less than or equal to half the curve order, if necessary.
-
-
-
Method Detail
-
isCanonical
public boolean isCanonical()
- Returns:
- true if the S component is "low", that means it is below
Sign.HALF_CURVE_ORDER. See BIP62.
-
toCanonicalised
public ECDSASignature toCanonicalised()
Will automatically adjust the S component to be less than or equal to half the curve order, if necessary. This is required because for every signature (r,s) the signature (r, -s (mod N)) is a valid signature of the same message. However, we dislike the ability to modify the bits of a Bitcoin transaction after it's been signed, as that violates various assumed invariants. Thus in future only one of those forms will be considered legal and the other will be banned.- Returns:
- the signature in a canonicalised form.
-
-