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

FreeBSD Manual Pages


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

       Crypt::OpenPGP::SessionKey - Encrypted Session Key

	   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 );

       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.

   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".

       Serializes the session key packet and returns the string	of octets.

       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

       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

       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

       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

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

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


Want to link to this manual page? Use this URL:

home | help