]> wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - gost_lcl.h
Merge pull request #455 from arx11/magma_ctracpkm_omac
[openssl-gost/engine.git] / gost_lcl.h
index 569f7cfbd3c5c38816eedb34f85cea087a83d67d..21a519782fa30fa81f7ba3270ef233acc3f88831 100644 (file)
@@ -17,6 +17,7 @@
 # include <openssl/x509.h>
 # include <openssl/engine.h>
 # include <openssl/ec.h>
+# include <openssl/asn1.h>
 # include "gost89.h"
 # include "gosthash.h"
 /* Control commands */
@@ -341,6 +342,8 @@ typedef struct gost_cipher_st GOST_cipher;
 EVP_CIPHER *GOST_init_cipher(GOST_cipher *c);
 void GOST_deinit_cipher(GOST_cipher *c);
 
+const EVP_CIPHER *cipher_gost_magma_ctracpkm();
+
 /* ENGINE implementation data */
 extern GOST_cipher Gost28147_89_cipher;
 extern GOST_cipher Gost28147_89_cbc_cipher;
@@ -351,11 +354,13 @@ extern GOST_cipher magma_ctr_acpkm_cipher;
 extern GOST_cipher magma_ctr_acpkm_omac_cipher;
 extern GOST_cipher magma_ecb_cipher;
 extern GOST_cipher magma_cbc_cipher;
+extern GOST_cipher magma_mgm_cipher;
 extern GOST_cipher grasshopper_ecb_cipher;
 extern GOST_cipher grasshopper_cbc_cipher;
 extern GOST_cipher grasshopper_cfb_cipher;
 extern GOST_cipher grasshopper_ofb_cipher;
 extern GOST_cipher grasshopper_ctr_cipher;
+extern GOST_cipher grasshopper_mgm_cipher;
 extern GOST_cipher grasshopper_ctr_acpkm_cipher;
 extern GOST_cipher grasshopper_ctr_acpkm_omac_cipher;
 extern GOST_cipher magma_kexp15_cipher;
@@ -395,10 +400,24 @@ extern GOST_digest GostR3411_2012_512_digest;
 extern GOST_digest magma_mac_digest;
 extern GOST_digest grasshopper_mac_digest;
 extern GOST_digest kuznyechik_ctracpkm_omac_digest;
+extern GOST_digest magma_ctracpkm_omac_digest;
 
 /* Provider implementation data */
 extern const OSSL_ALGORITHM GOST_prov_digests[];
 void GOST_prov_deinit_digests(void);
 
+/* job to initialize a missing NID */
+struct gost_nid_job {
+    const char *sn;
+    const char *ln;
+    void (*callback)(int nid);
+    ASN1_OBJECT *asn1;
+};
+
+typedef struct gost_nid_job GOST_NID_JOB;
+
+extern GOST_NID_JOB magma_mgm_NID;
+extern GOST_NID_JOB kuznyechik_mgm_NID;
+
 #endif
 /* vim: set expandtab cinoptions=\:0,l1,t0,g0,(0 sw=4 : */