]> git.ipfire.org Git - thirdparty/openssl.git/blame - crypto/rsa/rsa_prn.c
Use RAND_bytes_ex in crypto/rsa
[thirdparty/openssl.git] / crypto / rsa / rsa_prn.c
CommitLineData
0f113f3e 1/*
8686c474 2 * Copyright 2006-2017 The OpenSSL Project Authors. All Rights Reserved.
09b88a4a 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
1b593194
DSH
8 */
9
c5f87134
P
10/*
11 * RSA low level APIs are deprecated for public use, but still ok for
12 * internal use.
13 */
14#include "internal/deprecated.h"
15
1b593194 16#include <stdio.h>
b39fc560 17#include "internal/cryptlib.h"
1b593194
DSH
18#include <openssl/rsa.h>
19#include <openssl/evp.h>
20
4b618848 21#ifndef OPENSSL_NO_STDIO
1b593194 22int RSA_print_fp(FILE *fp, const RSA *x, int off)
0f113f3e
MC
23{
24 BIO *b;
25 int ret;
1b593194 26
0f113f3e
MC
27 if ((b = BIO_new(BIO_s_file())) == NULL) {
28 RSAerr(RSA_F_RSA_PRINT_FP, ERR_R_BUF_LIB);
8686c474 29 return 0;
0f113f3e
MC
30 }
31 BIO_set_fp(b, fp, BIO_NOCLOSE);
32 ret = RSA_print(b, x, off);
33 BIO_free(b);
8686c474 34 return ret;
0f113f3e 35}
1b593194
DSH
36#endif
37
38int RSA_print(BIO *bp, const RSA *x, int off)
0f113f3e
MC
39{
40 EVP_PKEY *pk;
41 int ret;
42 pk = EVP_PKEY_new();
90945fa3 43 if (pk == NULL || !EVP_PKEY_set1_RSA(pk, (RSA *)x))
0f113f3e
MC
44 return 0;
45 ret = EVP_PKEY_print_private(bp, pk, off, NULL);
46 EVP_PKEY_free(pk);
47 return ret;
48}