{
ASN1_OBJECT *algobj = OBJ_nid2obj(EVP_PKEY_base_id(pk));
ASN1_STRING *params = encode_gost_algor_params(pk);
- unsigned char *priv_buf = NULL, *buf = NULL;
- int key_len = pkey_bits_gost(pk), priv_len = 0, i = 0;
+ unsigned char /**priv_buf = NULL,*/ *buf = NULL;
+ int key_len = pkey_bits_gost(pk), /*priv_len = 0,*/ i = 0;
- ASN1_STRING *octet = NULL;
+ /*ASN1_STRING *octet = NULL;*/
if (!params) {
return 0;
}
buf[key_len - 1 - i] = tmp;
}
+/*
octet = ASN1_STRING_new();
ASN1_OCTET_STRING_set(octet, buf, key_len);
OPENSSL_free(buf);
return PKCS8_pkey_set0(p8, algobj, 0, V_ASN1_SEQUENCE, params,
- priv_buf, priv_len);
+ priv_buf, priv_len); */
+ return PKCS8_pkey_set0(p8, algobj, 0, V_ASN1_SEQUENCE, params,
+ buf, key_len);
}
/* --------- printing keys --------------------------------*/
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_IMP(GOST_KEY_TRANSPORT, key_agreement_info,
+ GOST_KEY_AGREEMENT_INFO, 0)
}
-
ASN1_NDEF_SEQUENCE_END(GOST_KEY_TRANSPORT)
+IMPLEMENT_ASN1_FUNCTIONS(GOST_KEY_TRANSPORT)
- IMPLEMENT_ASN1_FUNCTIONS(GOST_KEY_TRANSPORT)
-
- ASN1_NDEF_SEQUENCE(GOST_KEY_INFO) =
+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)
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_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)
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)
-
- IMPLEMENT_ASN1_FUNCTIONS(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_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)
int gost_cipher_do_cbc(EVP_CIPHER_CTX *ctx, unsigned char *out,
const unsigned char *in, size_t inl)
{
- OPENSSL_assert(inl % 8 == 0);
unsigned char b[8];
const unsigned char *in_ptr = in;
unsigned char *out_ptr = out;
} else {
return 0;
}
+ case EVP_CTRL_SET_SBOX:
+ if (ptr) {
+ struct ossl_gost_cipher_ctx *c = ctx->cipher_data;
+ int nid;
+ int cur_meshing;
+ int ret;
case EVP_CTRL_SET_SBOX:
if (ptr) {