aboutsummaryrefslogtreecommitdiff
path: root/gost_asn1.c
diff options
context:
space:
mode:
authorDmitry Belyavskiy <beldmit@gmail.com>2018-09-04 11:38:32 +0300
committerDmitry Belyavskiy <beldmit@gmail.com>2018-09-04 11:38:32 +0300
commitfd12b88c3392a300d94421f62cf870be8d4ef430 (patch)
tree4a0f52e821e759884acd99dea69a15ef542f7a82 /gost_asn1.c
parentcd7f9c8e3c396cff87e1393df835c5f5f9fb661f (diff)
downloadgost-engine-fd12b88c3392a300d94421f62cf870be8d4ef430.zip
gost-engine-fd12b88c3392a300d94421f62cf870be8d4ef430.tar.gz
gost-engine-fd12b88c3392a300d94421f62cf870be8d4ef430.tar.bz2
ASN1 definitions
Diffstat (limited to 'gost_asn1.c')
-rw-r--r--gost_asn1.c37
1 files changed, 23 insertions, 14 deletions
diff --git a/gost_asn1.c b/gost_asn1.c
index 0a1c05a..502d1eb 100644
--- a/gost_asn1.c
+++ b/gost_asn1.c
@@ -15,47 +15,56 @@ ASN1_NDEF_SEQUENCE(GOST_KEY_TRANSPORT) = {
ASN1_SIMPLE(GOST_KEY_TRANSPORT, key_info, GOST_KEY_INFO),
ASN1_IMP(GOST_KEY_TRANSPORT, key_agreement_info,
GOST_KEY_AGREEMENT_INFO, 0)
-}
-ASN1_NDEF_SEQUENCE_END(GOST_KEY_TRANSPORT)
+} ASN1_NDEF_SEQUENCE_END(GOST_KEY_TRANSPORT)
IMPLEMENT_ASN1_FUNCTIONS(GOST_KEY_TRANSPORT)
ASN1_NDEF_SEQUENCE(GOST_KEY_INFO) =
{
ASN1_SIMPLE(GOST_KEY_INFO, encrypted_key, ASN1_OCTET_STRING),
- ASN1_SIMPLE(GOST_KEY_INFO, imit, ASN1_OCTET_STRING)
+ ASN1_SIMPLE(GOST_KEY_INFO, imit, ASN1_OCTET_STRING)
} ASN1_NDEF_SEQUENCE_END(GOST_KEY_INFO)
IMPLEMENT_ASN1_FUNCTIONS(GOST_KEY_INFO)
+
ASN1_NDEF_SEQUENCE(GOST_KEY_AGREEMENT_INFO) =
{
ASN1_SIMPLE(GOST_KEY_AGREEMENT_INFO, cipher, ASN1_OBJECT),
- ASN1_IMP_OPT(GOST_KEY_AGREEMENT_INFO, ephem_key, X509_PUBKEY, 0),
- ASN1_SIMPLE(GOST_KEY_AGREEMENT_INFO, eph_iv, ASN1_OCTET_STRING)
+ ASN1_IMP_OPT(GOST_KEY_AGREEMENT_INFO, ephem_key, X509_PUBKEY, 0),
+ ASN1_SIMPLE(GOST_KEY_AGREEMENT_INFO, eph_iv, ASN1_OCTET_STRING)
} ASN1_NDEF_SEQUENCE_END(GOST_KEY_AGREEMENT_INFO)
IMPLEMENT_ASN1_FUNCTIONS(GOST_KEY_AGREEMENT_INFO)
+
ASN1_NDEF_SEQUENCE(GOST_KEY_PARAMS) =
{
-ASN1_SIMPLE(GOST_KEY_PARAMS, key_params, ASN1_OBJECT),
- ASN1_SIMPLE(GOST_KEY_PARAMS, hash_params, ASN1_OBJECT),
- ASN1_OPT(GOST_KEY_PARAMS, cipher_params,
- ASN1_OBJECT),} ASN1_NDEF_SEQUENCE_END(GOST_KEY_PARAMS)
+ ASN1_SIMPLE(GOST_KEY_PARAMS, key_params, ASN1_OBJECT),
+ ASN1_SIMPLE(GOST_KEY_PARAMS, hash_params, ASN1_OBJECT),
+ ASN1_OPT(GOST_KEY_PARAMS, cipher_params, ASN1_OBJECT),
+} ASN1_NDEF_SEQUENCE_END(GOST_KEY_PARAMS)
IMPLEMENT_ASN1_FUNCTIONS(GOST_KEY_PARAMS)
+
ASN1_NDEF_SEQUENCE(GOST_CIPHER_PARAMS) =
{
ASN1_SIMPLE(GOST_CIPHER_PARAMS, iv, ASN1_OCTET_STRING),
ASN1_SIMPLE(GOST_CIPHER_PARAMS, enc_param_set, ASN1_OBJECT),
-}
-ASN1_NDEF_SEQUENCE_END(GOST_CIPHER_PARAMS)
+} ASN1_NDEF_SEQUENCE_END(GOST_CIPHER_PARAMS)
IMPLEMENT_ASN1_FUNCTIONS(GOST_CIPHER_PARAMS)
+
ASN1_NDEF_SEQUENCE(GOST_CLIENT_KEY_EXCHANGE_PARAMS) =
{ /* FIXME incomplete */
ASN1_SIMPLE(GOST_CLIENT_KEY_EXCHANGE_PARAMS, gkt, GOST_KEY_TRANSPORT)
-}
-ASN1_NDEF_SEQUENCE_END(GOST_CLIENT_KEY_EXCHANGE_PARAMS)
+} ASN1_NDEF_SEQUENCE_END(GOST_CLIENT_KEY_EXCHANGE_PARAMS)
IMPLEMENT_ASN1_FUNCTIONS(GOST_CLIENT_KEY_EXCHANGE_PARAMS)
ASN1_NDEF_SEQUENCE(MASKED_GOST_KEY) =
{
ASN1_SIMPLE(MASKED_GOST_KEY, masked_priv_key, ASN1_OCTET_STRING),
- ASN1_SIMPLE(MASKED_GOST_KEY, public_key, ASN1_OCTET_STRING)
+ ASN1_SIMPLE(MASKED_GOST_KEY, public_key, ASN1_OCTET_STRING)
} ASN1_NDEF_SEQUENCE_END(MASKED_GOST_KEY)
IMPLEMENT_ASN1_FUNCTIONS(MASKED_GOST_KEY)
+
+/* draft-smyshlyaev-tls12-gost-suites */
+ASN1_NDEF_SEQUENCE(PSKeyTransport_gost) =
+{
+ ASN1_SIMPLE(PSKeyTransport_gost, psexp, ASN1_OCTET_STRING),
+ ASN1_SIMPLE(PSKeyTransport_gost, ephem_key, X509_PUBKEY)
+} ASN1_NDEF_SEQUENCE_END(PSKeyTransport_gost)
+IMPLEMENT_ASN1_FUNCTIONS(PSKeyTransport_gost)