summaryrefslogtreecommitdiffstats
path: root/engines/ccgost/sign.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/ccgost/sign.h')
-rw-r--r--engines/ccgost/sign.h30
1 files changed, 30 insertions, 0 deletions
diff --git a/engines/ccgost/sign.h b/engines/ccgost/sign.h
new file mode 100644
index 0000000000..c697c4fedb
--- /dev/null
+++ b/engines/ccgost/sign.h
@@ -0,0 +1,30 @@
+#ifndef GOST_SIGN_H
+#define GOST_SIGN_H
+/**********************************************************************
+ * sign.h *
+ * Copyright (c) 2006 Cryptocom LTD *
+ * This file is distributed under the same license as OpenSSL *
+ * *
+ * Declaration of internal funtions implementing GOST R 34.10 *
+ * signature and key generation *
+ * OpenSSL 0.9.9 libraries required to compile and use *
+ * this code *
+ **********************************************************************/
+#include <openssl/evp.h>
+#include <openssl/dsa.h>
+#include <openssl/ec.h>
+int fill_GOST94_params(DSA *dsa,int nid);
+int fill_GOST2001_params(EC_KEY *eckey, int nid);
+int gost_sign_keygen(DSA *dsa) ;
+int gost2001_keygen(EC_KEY *ec) ;
+
+DSA_SIG *gost_do_sign(const unsigned char *dgst,int dlen, DSA *dsa) ;
+DSA_SIG *gost2001_do_sign(const unsigned char *dgst,int dlen, EC_KEY *eckey);
+
+int gost_do_verify(const unsigned char *dgst, int dgst_len,
+ DSA_SIG *sig, DSA *dsa) ;
+int gost2001_do_verify(const unsigned char *dgst,int dgst_len,
+ DSA_SIG *sig, EC_KEY *ec);
+int gost2001_compute_public(EC_KEY *ec) ;
+int gost94_compute_public(DSA *dsa) ;
+#endif