]> git.ipfire.org Git - thirdparty/openssl.git/blame - crypto/rsa/rsa_none.c
dsa.h: fix preprocessor indentation
[thirdparty/openssl.git] / crypto / rsa / rsa_none.c
CommitLineData
2039c421 1/*
8686c474 2 * Copyright 1995-2017 The OpenSSL Project Authors. All Rights Reserved.
58964a49 3 *
2a7b6f39 4 * Licensed under the Apache License 2.0 (the "License"). You may not use
2039c421
RS
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
58964a49
RE
8 */
9
b39fc560 10#include "internal/cryptlib.h"
ec577822
BM
11#include <openssl/bn.h>
12#include <openssl/rsa.h>
58964a49 13
29c1f061 14int RSA_padding_add_none(unsigned char *to, int tlen,
0f113f3e
MC
15 const unsigned char *from, int flen)
16{
17 if (flen > tlen) {
18 RSAerr(RSA_F_RSA_PADDING_ADD_NONE, RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE);
8686c474 19 return 0;
0f113f3e 20 }
0c8a1281 21
0f113f3e
MC
22 if (flen < tlen) {
23 RSAerr(RSA_F_RSA_PADDING_ADD_NONE, RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE);
8686c474 24 return 0;
0f113f3e 25 }
58964a49 26
0f113f3e 27 memcpy(to, from, (unsigned int)flen);
8686c474 28 return 1;
0f113f3e 29}
58964a49 30
0f113f3e
MC
31int RSA_padding_check_none(unsigned char *to, int tlen,
32 const unsigned char *from, int flen, int num)
33{
58964a49 34
0f113f3e
MC
35 if (flen > tlen) {
36 RSAerr(RSA_F_RSA_PADDING_CHECK_NONE, RSA_R_DATA_TOO_LARGE);
8686c474 37 return -1;
0f113f3e 38 }
58964a49 39
0f113f3e
MC
40 memset(to, 0, tlen - flen);
41 memcpy(to + tlen - flen, from, flen);
8686c474 42 return tlen;
0f113f3e 43}