Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Crypt::OpenPGP::Key(3)User Contributed Perl DocumentatioCrypt::OpenPGP::Key(3)

NAME
       Crypt::OpenPGP::Key - OpenPGP key factory

SYNOPSIS
	   use Crypt::OpenPGP::Key;
	   my($pub, $sec) = Crypt::OpenPGP::Key->keygen('DSA', Size => 1024);

	   use Crypt::OpenPGP::Key::Public;
	   my $pubkey =	Crypt::OpenPGP::Key::Public->new('DSA');

	   use Crypt::OpenPGP::Key::Secret;
	   my $seckey =	Crypt::OpenPGP::Key::Secret->new('RSA');

DESCRIPTION
       Crypt::OpenPGP::Key provides base class functionality for all
       Crypt::OpenPGP public and secret	keys. It functions as a	factory	class
       for key generation and key instantiation.

       The only	time you will ever use Crypt::OpenPGP::Key directly is to
       generate	a key-pair; in all other scenarios--for	example, when
       instantiating a new key object--you should use either
       Crypt::OpenPGP::Key::Public or Crypt::OpenPGP::Key::Secret, depending
       on whether the key is public or secret, respectively.

KEY GENERATION
   Crypt::OpenPGP::Key->keygen(	$type, %arg )
       Generates a new key-pair	of public key algorithm	$type. Returns a
       public and a secret key,	each blessed into the appropriate
       implementation class. Returns an	empty list on failure, in which	case
       you should call the class method	errstr to determine the	error.

       Valid values for	type are "DSA",	"RSA", and "ElGamal".

       %arg can	contain:

       o   Size

	   Bitsize of the key to be generated. This should be an even integer;
	   there is no low end currently set, but for the sake of security
	   Size	should be at least 1024	bits.

	   This	is a required argument.

       o   Verbosity

	   Set to a true value to enable a status display during key
	   generation; since key generation is a relatively length process, it
	   is helpful to have an indication that some action is	occurring.

	   Verbosity is	0 by default.

METHODS
       Crypt::OpenPGP::Key is not meant	to be used directly (unless you	are
       generating keys;	see KEY	GENERATION, above); instead you	should use the
       subclasses of this module. There	are, however, useful interface methods
       that are	shared by all subclasses.

   Key Data Access
       Each public-key algorithm has different key data	associated with	it.
       For example, a public DSA key has 4 attributes: p, q, g,	and y. A
       secret DSA key has the same attributes as a public key, and in addition
       it has an attribute x.

       All of the key data attributes can be accessed by calling methods of
       the same	name on	the Key	object.	For example:

	   my $q = $dsa_key->q;

       The attributes for each public-key algorithm are:

       o   RSA

	   Public key: n, e

	   Secret key: n, e, d,	p, q, u

       o   DSA

	   Public key: p, q, g,	y

	   Secret key: p, q, g,	y, x

       o   ElGamal

	   Public key: p, g, y

	   Secret key: p, g, y,	x

   $key->check
       Check the key data to determine if it is	valid. For example, an RSA
       secret key would	multiply the values of p and q and verify that the
       product is equal	to the value of	n. Returns true	if the key is valid,
       false otherwise.

       Not all public key algorithm implementations implement a	check method;
       for those that don't, check will	always return true.

   $key->size
       Returns the "size" of the key. The definition of	"size" depends on the
       public key algorithm; for example, DSA defines the size of a key	as the
       bitsize of the value of p.

   $key->bytesize
       Whereas size will return	a bitsize of the key, bytesize returns the
       size in bytes. This value is defined as "int((bitsize(key)+7)/8)".

   $key->is_secret
       Returns true if the key $key is a secret	key, false otherwise.

   $key->public_key
       Returns the public part of the key $key.	If $key	is already a public
       key, $key is returned; otherwise	a new public key object
       (Crypt::OpenPGP::Key::Public) is	constructed, and the public values
       from the	secret key are copied into the public key. The new public key
       is returned.

   $key->can_encrypt
       Returns true if the key algorithm has encryption/decryption
       capabilities, false otherwise.

   $key->can_sign
       Returns true if the key algorithm has signing/verification
       capabilities, false otherwise.

   $key->alg
       Returns the name	of the public key algorithm.

   $key->alg_id
       Returns the number ID of	the public key algorithm.

AUTHOR & COPYRIGHTS
       Please see the Crypt::OpenPGP manpage for author, copyright, and
       license information.

perl v5.24.1			  2009-12-10		Crypt::OpenPGP::Key(3)

NAME | SYNOPSIS | DESCRIPTION | KEY GENERATION | METHODS | AUTHOR & COPYRIGHTS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Crypt::OpenPGP::Key&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help