Skip to main content
  • Home
  • login
  • Browse the archive

    swh mirror partner logo
swh logo
SoftwareHeritage
Software
Heritage
Mirror
Features
  • Search

  • Downloads

  • Save code now

  • Add forge now

  • Help

  • eb8e4ca
  • /
  • RSA_check_key.pod
Raw File
Permalinks

To reference or cite the objects present in the Software Heritage archive, permalinks based on SoftWare Hash IDentifiers (SWHIDs) must be used.
Select below a type of object currently browsed in order to display its associated SWHID and permalink.

  • content
  • directory
content badge Iframe embedding
swh:1:cnt:496fc471373154039ba7b6b819c86ee22acb1321
directory badge Iframe embedding
swh:1:dir:eb8e4ca506d8b012c24c380b8ccf70dcb0fc0a3d
RSA_check_key.pod
=pod

=head1 NAME

RSA_check_key - validate private RSA keys

=head1 SYNOPSIS

 #include <openssl/rsa.h>

 int RSA_check_key(RSA *rsa);

=head1 DESCRIPTION

This function validates RSA keys. It checks that B<p> and B<q> are
in fact prime, and that B<n = p*q>.

It also checks that B<d*e = 1 mod (p-1*q-1)>,
and that B<dmp1>, B<dmq1> and B<iqmp> are set correctly or are B<NULL>.

As such, this function can not be used with any arbitrary RSA key object,
even if it is otherwise fit for regular RSA operation. See B<NOTES> for more
information.

=head1 RETURN VALUE

RSA_check_key() returns 1 if B<rsa> is a valid RSA key, and 0 otherwise.
-1 is returned if an error occurs while checking the key.

If the key is invalid or an error occurred, the reason code can be
obtained using L<ERR_get_error(3)|ERR_get_error(3)>.

=head1 NOTES

This function does not work on RSA public keys that have only the modulus
and public exponent elements populated. It performs integrity checks on all
the RSA key material, so the RSA key structure must contain all the private
key data too.

=head1 SEE ALSO

L<rsa(3)|rsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>

=head1 HISTORY

RSA_check_key() appeared in OpenSSL 0.9.4.

=cut

ENEA — Copyright (C), ENEA. License: GNU AGPLv3+.
Legal notes  ::  JavaScript license information ::  Web API

back to top