add =cut
[openssl.git] / doc / crypto / RSA_check_key.pod
1 =pod
2
3 =head1 NAME
4
5 RSA_check_key - validate private RSA keys
6
7 =head1 SYNOPSIS
8
9  #include <openssl/rsa.h>
10
11  int RSA_check_key(RSA *rsa);
12
13 =head1 DESCRIPTION
14
15 This function validates RSA keys. It checks that B<p> and B<q> are
16 in fact prime, and that B<n = p*q>.
17
18 It also checks that B<d*e = 1 mod (p-1*q-1)>,
19 and that B<dmp1>, B<dmq1> and B<iqmp> are set correctly or are B<NULL>.
20
21 The key's public components may not be B<NULL>.
22
23 =head1 RETURN VALUE
24
25 RSA_check_key() returns 1 if B<rsa> is a valid RSA key, and 0 otherwise.
26 -1 is returned if an error occurs while checking the key.
27
28 If the key is invalid or an error occurred, the reason code can be
29 obtained using L<ERR_get_error(3)|ERR_get_error(3)>.
30
31 =head1 SEE ALSO
32
33 L<rsa(3)|rsa(3)>, L<err(3)|err(3)>
34
35 =head1 HISTORY
36
37 RSA_check() appeared in OpenSSL 0.9.4.
38
39 =cut