Ejemplo n.º 1
0
int cipher_init_ctx( cipher_context_t *ctx, const cipher_info_t *cipher_info )
{
    if( NULL == cipher_info || NULL == ctx )
        return( POLARSSL_ERR_CIPHER_BAD_INPUT_DATA );

    memset( ctx, 0, sizeof( cipher_context_t ) );

    if( NULL == ( ctx->cipher_ctx = cipher_info->base->ctx_alloc_func() ) )
        return( POLARSSL_ERR_CIPHER_ALLOC_FAILED );

    ctx->cipher_info = cipher_info;

#if defined(POLARSSL_CIPHER_MODE_WITH_PADDING)
    /*
     * Ignore possible errors caused by a cipher mode that doesn't use padding
     */
#if defined(POLARSSL_CIPHER_PADDING_PKCS7)
    (void) cipher_set_padding_mode( ctx, POLARSSL_PADDING_PKCS7 );
#else
    (void) cipher_set_padding_mode( ctx, POLARSSL_PADDING_NONE );
#endif
#endif /* POLARSSL_CIPHER_MODE_WITH_PADDING */

    return( 0 );
}
Ejemplo n.º 2
0
result_t Cipher::paddingMode(int32_t mode)
{
    int ret = cipher_set_padding_mode(&m_ctx, (cipher_padding_t)mode);
    if (ret != 0)
        return _ssl::setError(ret);

    return 0;
}