<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">Hi</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I recently migrated an application from OpenSSL 1.1.1 to OpenSSL 3.0, and I'm wondering how best to handle DSA signatures - specifically, the 'r' and 's' values - in OpenSSL 3.0.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">In OpenSSL 1.1.1, it was pretty easy:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">DSA_do_sign() - gets you a DSA_SIG</div><div class="gmail_default" style="font-size:small">DSA_SIG_get0() - gets you the 'r' and 's' values from the DSA_SIG</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">This still works in OpenSSL 3.0, but the DSA_* functions are deprecated, and so to avoid that I'm doing this instead:</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">EVP_DIgestSign() - gets you a DER-encoded signature blob</div><div class="gmail_default" style="font-size:small">BN_bin2bn() - grabs 'r' or 's' from the signature blob, so long as you point it at the right place in the blob</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Which seems very cumbersome, and requires intimate knowledge of the layout of the signature blob.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Is there a better way to get the 'r' and 's' values from a DSA signature in OpenSSL 3.0 without using deprecated functions?</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thanks.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Richard<br></div></div></div>