Overview

Packages

  • IMP
  • None

Classes

  • IMP
  • IMP_Ajax_Application
  • IMP_Ajax_Imple_ContactAutoCompleter
  • IMP_Ajax_Imple_PassphraseDialog
  • IMP_Ajax_Queue
  • IMP_Api
  • IMP_Auth
  • IMP_Block_Newmail
  • IMP_Block_Summary
  • IMP_Compose
  • IMP_Compose_Exception
  • IMP_Compose_Stationery
  • IMP_Contents
  • IMP_Crypt_Pgp
  • IMP_Crypt_Smime
  • IMP_Dimp
  • IMP_Exception
  • IMP_Factory_AuthImap
  • IMP_Factory_Compose
  • IMP_Factory_Contents
  • IMP_Factory_Flags
  • IMP_Factory_Identity
  • IMP_Factory_Imap
  • IMP_Factory_Imaptree
  • IMP_Factory_Mail
  • IMP_Factory_Mailbox
  • IMP_Factory_MailboxList
  • IMP_Factory_MimeViewer
  • IMP_Factory_Pgp
  • IMP_Factory_Quota
  • IMP_Factory_Search
  • IMP_Factory_Sentmail
  • IMP_Factory_Smime
  • IMP_Filter
  • IMP_Flag_Base
  • IMP_Flag_Imap
  • IMP_Flag_Imap_Answered
  • IMP_Flag_Imap_Deleted
  • IMP_Flag_Imap_Draft
  • IMP_Flag_Imap_Flagged
  • IMP_Flag_Imap_Forwarded
  • IMP_Flag_Imap_Junk
  • IMP_Flag_Imap_NotJunk
  • IMP_Flag_Imap_Seen
  • IMP_Flag_System_Attachment
  • IMP_Flag_System_Encrypted
  • IMP_Flag_System_HighPriority
  • IMP_Flag_System_List
  • IMP_Flag_System_LowPriority
  • IMP_Flag_System_Match_Address
  • IMP_Flag_System_Match_Flag
  • IMP_Flag_System_Match_Header
  • IMP_Flag_System_Personal
  • IMP_Flag_System_Signed
  • IMP_Flag_System_Unseen
  • IMP_Flag_User
  • IMP_Flags
  • IMP_Imap
  • IMP_Imap_Acl
  • IMP_Imap_Exception
  • IMP_Imap_PermanentFlags
  • IMP_Imap_Thread
  • IMP_Imap_Tree
  • IMP_Indices
  • IMP_Indices_Form
  • IMP_LoginTasks_SystemTask_GarbageCollection
  • IMP_LoginTasks_SystemTask_Upgrade
  • IMP_LoginTasks_SystemTask_UpgradeAuth
  • IMP_LoginTasks_Task_Autocreate
  • IMP_LoginTasks_Task_DeleteAttachmentsMonthly
  • IMP_LoginTasks_Task_DeleteSentmailMonthly
  • IMP_LoginTasks_Task_FilterOnLogin
  • IMP_LoginTasks_Task_PurgeSentmail
  • IMP_LoginTasks_Task_PurgeSpam
  • IMP_LoginTasks_Task_PurgeTrash
  • IMP_LoginTasks_Task_RecoverDraft
  • IMP_LoginTasks_Task_RenameSentmailMonthly
  • IMP_Mailbox
  • IMP_Mailbox_List
  • IMP_Mailbox_List_Track
  • IMP_Maillog
  • IMP_Menu_Dimp
  • IMP_Message
  • IMP_Mime_Status
  • IMP_Mime_Viewer_Alternative
  • IMP_Mime_Viewer_Appledouble
  • IMP_Mime_Viewer_Audio
  • IMP_Mime_Viewer_Enriched
  • IMP_Mime_Viewer_Externalbody
  • IMP_Mime_Viewer_Html
  • IMP_Mime_Viewer_Images
  • IMP_Mime_Viewer_Itip
  • IMP_Mime_Viewer_Mdn
  • IMP_Mime_Viewer_Partial
  • IMP_Mime_Viewer_Pdf
  • IMP_Mime_Viewer_Pgp
  • IMP_Mime_Viewer_Plain
  • IMP_Mime_Viewer_Related
  • IMP_Mime_Viewer_Rfc822
  • IMP_Mime_Viewer_Smil
  • IMP_Mime_Viewer_Smime
  • IMP_Mime_Viewer_Status
  • IMP_Mime_Viewer_Vcard
  • IMP_Mime_Viewer_Video
  • IMP_Mime_Viewer_Zip
  • IMP_Notification_Event_Status
  • IMP_Notification_Handler_Decorator_ImapAlerts
  • IMP_Notification_Handler_Decorator_NewmailNotify
  • IMP_Notification_Listener_AjaxStatus
  • Imp_Prefs_Identity
  • IMP_Prefs_Ui
  • IMP_Quota
  • IMP_Quota_Base
  • IMP_Quota_Command
  • IMP_Quota_Hook
  • IMP_Quota_Imap
  • IMP_Quota_Maildir
  • IMP_Quota_Mdaemon
  • IMP_Quota_Mercury32
  • IMP_Quota_Null
  • IMP_Quota_Sql
  • IMP_Search
  • IMP_Search_Element
  • IMP_Search_Element_Attachment
  • IMP_Search_Element_Autogenerated
  • IMP_Search_Element_Bulk
  • IMP_Search_Element_Contacts
  • IMP_Search_Element_Date
  • IMP_Search_Element_Flag
  • IMP_Search_Element_Header
  • IMP_Search_Element_Mailinglist
  • IMP_Search_Element_Or
  • IMP_Search_Element_Personal
  • IMP_Search_Element_Recipient
  • IMP_Search_Element_Size
  • IMP_Search_Element_Text
  • IMP_Search_Element_Within
  • IMP_Search_Filter
  • IMP_Search_Filter_Attachment
  • IMP_Search_Filter_Autogenerated
  • IMP_Search_Filter_Builtin
  • IMP_Search_Filter_Bulk
  • IMP_Search_Filter_Contacts
  • IMP_Search_Filter_Mailinglist
  • IMP_Search_Filter_Personal
  • IMP_Search_Query
  • IMP_Search_Vfolder
  • IMP_Search_Vfolder_Builtin
  • IMP_Search_Vfolder_Vinbox
  • IMP_Search_Vfolder_Vtrash
  • IMP_Sentmail
  • IMP_Sentmail_Base
  • IMP_Sentmail_Null
  • IMP_Sentmail_Sql
  • IMP_Spam
  • IMP_Test
  • IMP_Tree_Flist
  • IMP_Tree_Jquerymobile
  • IMP_Tree_Simplehtml
  • IMP_Ui_Compose
  • IMP_Ui_Editor
  • IMP_Ui_Folder
  • IMP_Ui_Headers
  • IMP_Ui_Imageview
  • IMP_Ui_Mailbox
  • IMP_Ui_Message
  • IMP_Ui_Mimp
  • IMP_Ui_Search
  • IMP_Views_Compose
  • IMP_Views_ListMessages
  • IMP_Views_ShowMessage
  • Overview
  • Package
  • Class
  • Tree

Class IMP_Crypt_Pgp

The IMP_Crypt_Pgp:: class contains all functions related to handling PGP messages within IMP.

Copyright 2002-2012 Horde LLC (http://www.horde.org/)

See the enclosed file COPYING for license information (GPL). If you did not receive this file, see http://www.horde.org/licenses/gpl.

Horde_Crypt_Pgp
Extended by IMP_Crypt_Pgp
Package: IMP
Category: Horde
License: GPL
Author: Michael Slusarz slusarz@horde.org
Located at Crypt/Pgp.php
Methods summary
public array
# encryptList( )

Return the list of available encryption options for composing.

Return the list of available encryption options for composing.

Returns

array

Keys are encryption type constants, values are gettext strings describing the encryption type.

public
# generatePersonalKeys( string $name, string $email, string $passphrase, string $comment = '', string $keylength = 1024 )

Generate the personal Public/Private keypair and store in prefs.

Generate the personal Public/Private keypair and store in prefs.

Parameters

$name
$realname See Horde_Crypt_Pgp::
$email
See Horde_Crypt_Pgp::
$passphrase
See Horde_Crypt_Pgp::
$comment
See Horde_Crypt_Pgp::
$keylength
See Horde_Crypt_Pgp::

Throws

Horde_Crypt_Exception
public
# addPersonalPublicKey( mixed $public_key )

Add the personal public key to the prefs.

Add the personal public key to the prefs.

Parameters

$public_key
<p>The public key to add (either string or array).</p>
public
# addPersonalPrivateKey( mixed $private_key )

Add the personal private key to the prefs.

Add the personal private key to the prefs.

Parameters

$private_key
<p>The private key to add (either string or array).</p>
public string
# getPersonalPublicKey( )

Get the personal public key from the prefs.

Get the personal public key from the prefs.

Returns

string
The personal PGP public key.
public string
# getPersonalPrivateKey( )

Get the personal private key from the prefs.

Get the personal private key from the prefs.

Returns

string
The personal PGP private key.
public
# deletePersonalKeys( )

Deletes the specified personal keys from the prefs.

Deletes the specified personal keys from the prefs.

public array
# addPublicKey( string $public_key )

Add a public key to an address book.

Add a public key to an address book.

Parameters

$public_key
An PGP public key.

Returns

array
See Horde_Crypt_Pgp::pgpPacketInformation()

Throws

Horde_Crypt_Exception
Horde_Exception
public string
# getPublicKey( string $address, array $options = array() )

Retrieves a public key by e-mail.

Retrieves a public key by e-mail.

First, the key will be attempted to be retrieved from a user's address book(s). Second, if unsuccessful, the key is attempted to be retrieved via a public PGP keyserver.

Parameters

$address
The e-mail address to search by.
$options
Additional options: <pre><span class="php-quote">'keyid'</span> - (string) The <span class="php-keyword2">key</span> ID of the user<span class="php-quote">'s key. DEFAULT: key ID not used '</span>nocache<span class="php-quote">' - (boolean) Don'</span>t retrieve from cache? <span class="php-keyword1">DEFAULT</span>: <span class="php-keyword1">false</span> <span class="php-quote">'noserver'</span> - (boolean) Whether to check the <span class="php-keyword1">public</span> <span class="php-keyword2">key</span> servers <span class="php-keyword1">for</span> the <span class="php-keyword2">key</span>. <span class="php-keyword1">DEFAULT</span>: <span class="php-keyword1">false</span></pre>

Returns

string
The PGP public key requested.

Throws

Horde_Crypt_Exception
public array
# listPublicKeys( )

Retrieves all public keys from a user's address book(s).

Retrieves all public keys from a user's address book(s).

Returns

array
All PGP public keys available.

Throws

Horde_Crypt_Exception
public
# deletePublicKey( string $email )

Deletes a public key from a user's address book(s) by e-mail.

Deletes a public key from a user's address book(s) by e-mail.

Parameters

$email
The e-mail address to delete.

Throws

Horde_Crypt_Exception
public string
# getFromPublicKeyserver( string $keyid, string $address = null )

Get a public key via a public PGP keyserver.

Get a public key via a public PGP keyserver.

Parameters

$keyid
The key ID of the requested key.
$address
The email address of the requested key.

Returns

string
See Horde_Crypt_Pgp::getPublicKeyserver()

Throws

Horde_Crypt_Exception
public string
# sendToPublicKeyserver( string $pubkey )

Send a public key to a public PGP keyserver.

Send a public key to a public PGP keyserver.

Parameters

$pubkey
The PGP public key.

Returns

string
See Horde_Crypt_Pgp::putPublicKeyserver()

Throws

Horde_Crypt_Exception
public stdClass
# verifySignature( string $text, string $address, string $signature = '', string $charset = null )

Verifies a signed message with a given public key.

Verifies a signed message with a given public key.

Parameters

$text
The text to verify.
$address
E-mail address of public key.
$signature
A PGP signature block.
$charset
Charset to use.

Returns

stdClass
See Horde_Crypt_Pgp::decrypt().

Throws

Horde_Crypt_Exception
public stdClass
# decryptMessage( string $text, string $type, boolean $passphrase = null )

Decrypt a message with user's public/private keypair or a passphrase.

Decrypt a message with user's public/private keypair or a passphrase.

Parameters

$text
The text to decrypt.
$type
<p>Either 'literal', 'personal', or 'symmetric'.</p>
$passphrase
<p>If $type is 'personal' or 'symmetrical', the passphrase to use.</p>

Returns

stdClass
See Horde_Crypt_Pgp::decrypt().

Throws

Horde_Crypt_Exception
public mixed
# getPassphrase( integer $type, string $id = null )

Gets a passphrase from the session cache.

Gets a passphrase from the session cache.

Parameters

$type
<p>The type of passphrase. Either 'personal' or 'symmetric'.</p>
$id
<p>If $type is 'symmetric', the ID of the stored passphrase.</p>

Returns

mixed
The passphrase, if set, or null.
public boolean
# storePassphrase( integer $type, string $passphrase, string $id = null )

Store's the user's passphrase in the session cache.

Store's the user's passphrase in the session cache.

Parameters

$type
<p>The type of passphrase. Either 'personal' or 'symmetric'.</p>
$passphrase
The user's passphrase.
$id
<p>If $type is 'symmetric', the ID of the stored passphrase.</p>

Returns

boolean
Returns true if correct passphrase, false if incorrect.
public
# unsetPassphrase( integer $type, string $id = null )

Clear the passphrase from the session cache.

Clear the passphrase from the session cache.

Parameters

$type
<p>The type of passphrase. Either 'personal' or 'symmetric'.</p>
$id
<p>If $type is 'symmetric', the ID of the stored passphrase. Else, all passphrases are deleted.</p>
public string
# getSymmetricId( string $mailbox, integer $uid, string $id )

Generates a cache ID for symmetric message data.

Generates a cache ID for symmetric message data.

Parameters

$mailbox
The mailbox of the message.
$uid
The UID of the message.
$id
The MIME ID of the message.

Returns

string
A unique symmetric cache ID.
public string
# savePublicKeyUrl( string $mailbox, integer $uid, string $id )

Generates the javascript code for saving public keys.

Generates the javascript code for saving public keys.

Parameters

$mailbox
The mailbox of the message.
$uid
The UID of the message.
$id
The MIME ID of the message.

Returns

string
The URL for saving public keys.
public Horde_Mime_Part
# impSignMimePart( Horde_Mime_Part $mime_part )

Sign a Horde_Mime_Part using PGP using IMP default parameters.

Sign a Horde_Mime_Part using PGP using IMP default parameters.

Parameters

$mime_part
The object to sign.

Returns

Horde_Mime_Part
See Horde_Crypt_Pgp::signMIMEPart().

Throws

Horde_Crypt_Exception
public Horde_Mime_Part
# impEncryptMimePart( Horde_Mime_Part $mime_part, array $addresses, string $symmetric = null )

Encrypt a Horde_Mime_Part using PGP using IMP default parameters.

Encrypt a Horde_Mime_Part using PGP using IMP default parameters.

Parameters

$mime_part
The object to encrypt.
$addresses
<p>The e-mail address of the keys to use for encryption.</p>
$symmetric
<p>If true, the symmetric password to use for encrypting. If null, uses the personal key.</p>

Returns

Horde_Mime_Part
See Horde_Crypt_Pgp::encryptMimePart().

Throws

Horde_Crypt_Exception
public Horde_Mime_Part
# impSignAndEncryptMimePart( Horde_Mime_Part $mime_part, array $addresses, string $symmetric = null )

Sign and Encrypt a Horde_Mime_Part using PGP using IMP default parameters.

Sign and Encrypt a Horde_Mime_Part using PGP using IMP default parameters.

Parameters

$mime_part
The object to sign and encrypt.
$addresses
<p>The e-mail address of the keys to use for encryption.</p>
$symmetric
<p>If true, the symmetric password to use for encrypting. If null, uses the personal key.</p>

Returns

Horde_Mime_Part
See Horde_Crypt_Pgp::signAndencryptMimePart().

Throws

Horde_Crypt_Exception
public Horde_Mime_Part
# publicKeyMimePart( )

Generate a Horde_Mime_Part object, in accordance with RFC 2015/3156, that contains the user's public key.

Generate a Horde_Mime_Part object, in accordance with RFC 2015/3156, that contains the user's public key.

Returns

Horde_Mime_Part
See Horde_Crypt_Pgp::publicKeyMimePart().
public
# printKeyInfo( string $key = '' )

Print PGP Key information.

Print PGP Key information.

Parameters

$key
The PGP key.
public
# textWindowOutput( string $name, string $msg )

Output text in a window.

Output text in a window.

Parameters

$name
The window name.
$msg
The text contents.
public
# importKeyDialog( string $target, string $reload )

Generate import key dialog.

Generate import key dialog.

Parameters

$target
Action ID for the UI screen.
$reload
The reload cache value.
public string
# getImportKey( string $key )

Attempt to import a key from form/uploaded data.

Attempt to import a key from form/uploaded data.

Parameters

$key
Key string.

Returns

string
The key contents.

Throws

Horde_Browser_Exception
public
# reloadWindow( string $reload )

Reload the window.

Reload the window.

Parameters

$reload
The reload cache value.
Constants summary
string PUBKEY_FIELD
# 'pgpPublicKey'
string ENCRYPT
# 'pgp_encrypt'
string SIGN
# 'pgp_sign'
string SIGNENC
# 'pgp_signenc'
string SYM_ENCRYPT
# 'pgp_sym_enc'
string SYM_SIGNENC
# 'pgp_syn_sign'
API documentation generated by ApiGen