Add ecdsa_write_signature_det()
diff --git a/include/polarssl/ecdsa.h b/include/polarssl/ecdsa.h
index a718c0e..0fab07e 100644
--- a/include/polarssl/ecdsa.h
+++ b/include/polarssl/ecdsa.h
@@ -137,6 +137,34 @@
int (*f_rng)(void *, unsigned char *, size_t),
void *p_rng );
+#if defined(POLARSSL_ECDSA_DETERMINISTIC)
+/**
+ * \brief Compute ECDSA signature and write it to buffer,
+ * serialized as defined in RFC 4492 page 20.
+ * Deterministic version, RFC 6979.
+ * (Not thread-safe to use same context in multiple threads)
+ *
+ * \param ctx ECDSA context
+ * \param hash Message hash
+ * \param hlen Length of hash
+ * \param sig Buffer that will hold the signature
+ * \param slen Length of the signature written
+ * \param md_alg MD algorithm used to hash the message
+ *
+ * \note The "sig" buffer must be at least as large as twice the
+ * size of the curve used, plus 7 (eg. 71 bytes if a 256-bit
+ * curve is used).
+ *
+ * \return 0 if successful,
+ * or a POLARSSL_ERR_ECP, POLARSSL_ERR_MPI or
+ * POLARSSL_ERR_ASN1 error code
+ */
+int ecdsa_write_signature_det( ecdsa_context *ctx,
+ const unsigned char *hash, size_t hlen,
+ unsigned char *sig, size_t *slen,
+ md_type_t md_alg );
+#endif
+
/**
* \brief Read and verify an ECDSA signature
*