コード例 #1
0
ファイル: main.c プロジェクト: GarysRefererence2014/vhsm
static int pkey_gost_mac_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src) {
    struct te_mac_pmeth_data *dst_data,*src_data;
    if (!pkey_gost_mac_init(dst)) return 0;

    src_data = EVP_PKEY_CTX_get_data(src);
    dst_data = EVP_PKEY_CTX_get_data(dst);
    *dst_data = *src_data;
    return 1;
}
コード例 #2
0
ファイル: gost_pmeth.c プロジェクト: gost-engine/engine
static int pkey_gost_mac_signctx_init(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx)
{
    struct gost_mac_pmeth_data *data = EVP_PKEY_CTX_get_data(ctx);

    if (data == NULL) {
        pkey_gost_mac_init(ctx);
    }

    data = EVP_PKEY_CTX_get_data(ctx);
    if (!data) {
        GOSTerr(GOST_F_PKEY_GOST_MAC_SIGNCTX_INIT, GOST_R_MAC_KEY_NOT_SET);
        return 0;
    }

    return 1;
}