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

FreeBSD Manual Pages

  
 
  

home | help
Crypt::OpenPGP::SessioUser(Contributed Perl DocumCrypt::OpenPGP::SessionKey(3)

NAME
       Crypt::OpenPGP::SessionKey - Encrypted Session Key

SYNOPSIS
	   use Crypt::OpenPGP::SessionKey;

	   my $public_key = Crypt::OpenPGP::Key::Public->new( 'RSA' );
	   my $key_data	= 'f' x	64;    ## Not a	very good key :)

	   my $skey = Crypt::OpenPGP::SessionKey->new(
	       Key     => $public_key,
	       SymKey  => $key_data,
	   );
	   my $serialized = $skey->save;

	   my $secret_key = Crypt::OpenPGP::Key::Secret->new( 'RSA' );
	   ( $key_data,	my( $alg ) ) = $skey->decrypt( $secret_key );

DESCRIPTION
       Crypt::OpenPGP::SessionKey implements encrypted session key packets;
       these packets store public-key-encrypted	key data that, when decrypted
       using the corresponding secret key, can be used to decrypt a block of
       ciphertext--that	is, a Crypt::OpenPGP::Ciphertext object.

USAGE
   Crypt::OpenPGP::SessionKey->new( %arg )
       Creates a new encrypted session key packet object and returns that
       object. If there	are no arguments in %arg, the object is	created	empty;
       this is used, for example in parse (below), to create an	empty packet
       which is	then filled from the data in the buffer.

       If you wish to initialize a non-empty object, %arg can contain:

       o   Key

	   A public key	object;	in other words,	an object of a subclass	of
	   Crypt::OpenPGP::Key::Private. The public key	is used	to encrypt the
	   encoded session key such that it can	only be	decrypted by the
	   secret portion of the key.

	   This	argument is required (for a non-empty object).

       o   SymKey

	   The symmetric cipher	key: a string of octets	that make up the key
	   data	of the symmetric cipher	key. This should be at least long
	   enough for the key length of	your chosen cipher (see	Cipher,
	   below), or, if you have not specified a cipher, at least 64 bytes
	   (to allow for long cipher key sizes).

	   This	argument is required (for a non-empty object).

       o   Cipher

	   The name (or	ID) of a supported PGP cipher. See
	   Crypt::OpenPGP::Cipher for a	list of	valid cipher names.

	   This	argument is optional; by default Crypt::OpenPGP::Cipher	will
	   use "DES3".

   $skey->save
       Serializes the session key packet and returns the string	of octets.

   Crypt::OpenPGP::SessionKey->parse($buffer)
       Given $buffer, a	Crypt::OpenPGP::Buffer object holding (or with offset
       pointing	to) an encrypted session key packet, returns a new
       Crypt::OpenPGP::Ciphertext object, initialized with the data in the
       buffer.

   $skey->decrypt($secret_key)
       Given a secret key object $secret_key (an object	of a subclass of
       Crypt::OpenPGP::Key::Public), decrypts and decodes the encrypted
       session key data. The key data includes the symmetric key itself, along
       with a one-octet	ID of the symmetric cipher used	to encrypt the
       message.

       Returns a list containing two items: the	symmetric key and the cipher
       algorithm ID. These are suitable	for passing off	to the decrypt method
       of a Crypt::OpenPGP::Ciphertext object to decrypt a block of encrypted
       data.

   $skey->key_id
       Returns the key ID of the public	key used to encrypt the	session	key;
       this is necessary for finding the appropriate secret key	to decrypt the
       key.

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

perl v5.24.1			  2010-12-06	 Crypt::OpenPGP::SessionKey(3)

NAME | SYNOPSIS | DESCRIPTION | USAGE | AUTHOR & COPYRIGHTS

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

home | help