Implement DSA_SIG_set0() and ECDSA_SIG_set0(), for setting signature values.
[oweals/openssl.git] / crypto / ec / ec_asn1.c
index 9272e1f1bae91f50aeca617295ba0baea7d1a02f..89cc67d8aa596a7f91b1f94c14c6a4408168c149 100644 (file)
@@ -1180,6 +1180,15 @@ void ECDSA_SIG_get0(BIGNUM **pr, BIGNUM **ps, const ECDSA_SIG *sig)
         *ps = sig->s;
 }
 
+int ECDSA_SIG_set0(BIGNUM *r, BIGNUM *s, ECDSA_SIG *sig)
+{
+    BN_clear_free(sig->r);
+    BN_clear_free(sig->s);
+    sig->r = r;
+    sig->s = s;
+    return 1;
+}
+
 int ECDSA_size(const EC_KEY *r)
 {
     int ret, i;