Overview

Packages

  • IMP

Classes

  • IMP
  • IMP_Ajax_Addresses
  • IMP_Ajax_Application
  • IMP_Ajax_Application_Compose
  • IMP_Ajax_Application_Handler_Common
  • IMP_Ajax_Application_Handler_ComposeAttach
  • IMP_Ajax_Application_Handler_Draft
  • IMP_Ajax_Application_Handler_Dynamic
  • IMP_Ajax_Application_Handler_ImageUnblock
  • IMP_Ajax_Application_Handler_Mboxtoggle
  • IMP_Ajax_Application_Handler_Passphrase
  • IMP_Ajax_Application_Handler_Remote
  • IMP_Ajax_Application_Handler_RemotePrefs
  • IMP_Ajax_Application_Handler_Search
  • IMP_Ajax_Application_Handler_Smartmobile
  • IMP_Ajax_Application_ListMessages
  • IMP_Ajax_Application_ShowMessage
  • IMP_Ajax_Application_Viewport
  • IMP_Ajax_Application_Viewport_Error
  • IMP_Ajax_Imple_ImportEncryptKey
  • IMP_Ajax_Imple_ItipRequest
  • IMP_Ajax_Imple_PassphraseDialog
  • IMP_Ajax_Imple_VcardImport
  • IMP_Ajax_Queue
  • IMP_Api
  • IMP_Application
  • IMP_Auth
  • IMP_Basic_Base
  • IMP_Basic_Compose
  • IMP_Basic_Contacts
  • IMP_Basic_Error
  • IMP_Basic_Folders
  • IMP_Basic_Listinfo
  • IMP_Basic_Mailbox
  • IMP_Basic_Message
  • IMP_Basic_Pgp
  • IMP_Basic_Saveimage
  • IMP_Basic_Search
  • IMP_Basic_Searchbasic
  • IMP_Basic_Smime
  • IMP_Basic_Thread
  • IMP_Block_Newmail
  • IMP_Block_Summary
  • IMP_Compose
  • IMP_Compose_Attachment
  • IMP_Compose_Attachment_Linked_Metadata
  • IMP_Compose_Attachment_Metadata
  • IMP_Compose_Attachment_Storage
  • IMP_Compose_Attachment_Storage_AutoDetermine
  • IMP_Compose_Attachment_Storage_Temp
  • IMP_Compose_Attachment_Storage_VfsLinked
  • IMP_Compose_Exception
  • IMP_Compose_Exception_Address
  • IMP_Compose_HtmlSignature
  • IMP_Compose_Link
  • IMP_Compose_LinkedAttachment
  • IMP_Compose_Ui
  • IMP_Compose_View
  • IMP_Contacts
  • IMP_Contacts_Avatar_Addressbook
  • IMP_Contacts_Avatar_Gravatar
  • IMP_Contacts_Avatar_Unknown
  • IMP_Contacts_Flag_Host
  • IMP_Contacts_Image
  • IMP_Contents
  • IMP_Contents_InlineOutput
  • IMP_Contents_View
  • IMP_Crypt_Pgp
  • IMP_Crypt_Smime
  • IMP_Dynamic_AddressList
  • IMP_Dynamic_Base
  • IMP_Dynamic_Compose
  • IMP_Dynamic_Compose_Common
  • IMP_Dynamic_Helper_Base
  • IMP_Dynamic_Mailbox
  • IMP_Dynamic_Message
  • IMP_Exception
  • IMP_Factory_AuthImap
  • IMP_Factory_Compose
  • IMP_Factory_ComposeAtc
  • IMP_Factory_Contacts
  • IMP_Factory_Contents
  • IMP_Factory_Flags
  • IMP_Factory_Ftree
  • IMP_Factory_Identity
  • IMP_Factory_Imap
  • IMP_Factory_Mail
  • IMP_Factory_MailAutoconfig
  • IMP_Factory_Mailbox
  • IMP_Factory_MailboxCache
  • IMP_Factory_MailboxList
  • IMP_Factory_Maillog
  • IMP_Factory_MimeViewer
  • IMP_Factory_Pgp
  • IMP_Factory_PrefsSort
  • IMP_Factory_Quota
  • IMP_Factory_Search
  • IMP_Factory_Sentmail
  • IMP_Factory_Smime
  • IMP_Factory_Spam
  • 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_Ftree
  • IMP_Ftree_Account
  • IMP_Ftree_Account_Imap
  • IMP_Ftree_Account_Inboxonly
  • IMP_Ftree_Account_Remote
  • IMP_Ftree_Account_Vfolder
  • IMP_Ftree_Element
  • IMP_Ftree_Eltdiff
  • IMP_Ftree_Iterator
  • IMP_Ftree_Iterator_Ancestors
  • IMP_Ftree_IteratorFilter
  • IMP_Ftree_IteratorFilter_Children
  • IMP_Ftree_IteratorFilter_Containers
  • IMP_Ftree_IteratorFilter_Expanded
  • IMP_Ftree_IteratorFilter_Invisible
  • IMP_Ftree_IteratorFilter_Mailboxes
  • IMP_Ftree_IteratorFilter_Nonimap
  • IMP_Ftree_IteratorFilter_Polled
  • IMP_Ftree_IteratorFilter_Remote
  • IMP_Ftree_IteratorFilter_Special
  • IMP_Ftree_IteratorFilter_Subscribed
  • IMP_Ftree_IteratorFilter_Vfolder
  • IMP_Ftree_Prefs
  • IMP_Ftree_Prefs_Expanded
  • IMP_Ftree_Prefs_Poll
  • IMP_Ftree_Select
  • IMP_Images
  • IMP_Imap
  • IMP_Imap_Acl
  • IMP_Imap_Cache_Wrapper
  • IMP_Imap_Config
  • IMP_Imap_Exception
  • IMP_Imap_Password
  • IMP_Imap_PermanentFlags
  • IMP_Imap_Remote
  • IMP_Indices
  • IMP_Indices_Mailbox
  • 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_Pop3
  • IMP_Mailbox_List_Thread
  • IMP_Mailbox_List_Virtual
  • IMP_Mailbox_SessionCache
  • IMP_Mailbox_Ui
  • IMP_Maillog
  • IMP_Maillog_Log_Base
  • IMP_Maillog_Log_Forward
  • IMP_Maillog_Log_Mdn
  • IMP_Maillog_Log_Redirect
  • IMP_Maillog_Log_Reply
  • IMP_Maillog_Log_Replyall
  • IMP_Maillog_Log_Replylist
  • IMP_Maillog_Message
  • IMP_Maillog_Storage_Base
  • IMP_Maillog_Storage_Composite
  • IMP_Maillog_Storage_History
  • IMP_Maillog_Storage_Mdnsent
  • IMP_Maillog_Storage_Null
  • IMP_Mbox_Generate
  • IMP_Mbox_Import
  • IMP_Mbox_Size
  • IMP_Message
  • IMP_Message_Date
  • IMP_Message_Ui
  • IMP_Mime_Headers
  • IMP_Mime_Status
  • IMP_Mime_Status_RenderIssue
  • IMP_Mime_Status_RenderIssue_Display
  • 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_Minimal_Base
  • IMP_Minimal_Compose
  • IMP_Minimal_Error
  • IMP_Minimal_Folders
  • IMP_Minimal_Mailbox
  • IMP_Minimal_Message
  • IMP_Minimal_Messagepart
  • IMP_Minimal_Search
  • IMP_Notification_Event_Status
  • IMP_Notification_Handler_Decorator_ImapAlerts
  • IMP_Notification_Handler_Decorator_NewmailNotify
  • IMP_Perms
  • IMP_Prefs_AttribText
  • IMP_Prefs_Identity
  • IMP_Prefs_Sort
  • IMP_Prefs_Sort_FixedDate
  • IMP_Prefs_Sort_None
  • IMP_Prefs_Sort_Sortpref
  • IMP_Prefs_Sort_Sortpref_Locked
  • IMP_Prefs_Special_Acl
  • IMP_Prefs_Special_ComposeTemplates
  • IMP_Prefs_Special_Drafts
  • IMP_Prefs_Special_Encrypt
  • IMP_Prefs_Special_Flag
  • IMP_Prefs_Special_HtmlSignature
  • IMP_Prefs_Special_ImageReplacement
  • IMP_Prefs_Special_InitialPage
  • IMP_Prefs_Special_Mailto
  • IMP_Prefs_Special_NewmailSound
  • IMP_Prefs_Special_PgpPrivateKey
  • IMP_Prefs_Special_PgpPublicKey
  • IMP_Prefs_Special_Remote
  • IMP_Prefs_Special_Searches
  • IMP_Prefs_Special_Sentmail
  • IMP_Prefs_Special_SmimePrivateKey
  • IMP_Prefs_Special_SmimePublicKey
  • IMP_Prefs_Special_Sourceselect
  • IMP_Prefs_Special_Spam
  • IMP_Prefs_Special_SpecialMboxes
  • IMP_Prefs_Special_Trash
  • IMP_Quota
  • IMP_Quota_Hook
  • IMP_Quota_Imap
  • IMP_Quota_Null
  • IMP_Quota_Ui
  • IMP_Remote
  • IMP_Remote_Account
  • IMP_Script_Package_Autocomplete
  • IMP_Script_Package_ComposeBase
  • IMP_Script_Package_DynamicBase
  • IMP_Script_Package_Editor
  • IMP_Script_Package_Imp
  • IMP_Search
  • IMP_Search_Element
  • IMP_Search_Element_Attachment
  • IMP_Search_Element_Autogenerated
  • IMP_Search_Element_Bulk
  • IMP_Search_Element_Contacts
  • IMP_Search_Element_Daterange
  • 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_IteratorFilter
  • IMP_Search_Query
  • IMP_Search_Ui
  • IMP_Search_Vfolder
  • IMP_Search_Vfolder_Builtin
  • IMP_Search_Vfolder_Vinbox
  • IMP_Search_Vfolder_Vtrash
  • IMP_Sentmail
  • IMP_Sentmail_Mongo
  • IMP_Sentmail_Null
  • IMP_Sentmail_Sql
  • IMP_Smartmobile
  • IMP_Spam
  • IMP_Spam_Email
  • IMP_Spam_Null
  • IMP_Spam_Program
  • IMP_Test
  • IMP_Tree_Flist
  • IMP_Tree_Jquerymobile
  • IMP_Tree_Simplehtml
  • IMP_View_Subinfo

Interfaces

  • IMP_Compose_Attachment_Linked
  • IMP_Contacts_Avatar_Backend
  • IMP_Contacts_Flag_Backend
  • IMP_Spam_Base
  • Overview
  • Package
  • Class
  • Tree

Class IMP_Crypt_Pgp

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

Horde_Crypt_Pgp
Extended by IMP_Crypt_Pgp
Package: IMP
Category: Horde
Copyright: 2002-2014 Horde LLC
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, integer $expire = null )

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

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

Parameters

$name
See Horde_Crypt_Pgp::.
$email
See Horde_Crypt_Pgp::.
$passphrase
See Horde_Crypt_Pgp::.
$comment
See Horde_Crypt_Pgp::.
$keylength
See Horde_Crypt_Pgp::.
$expire
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
<p>Additional options: - keyid: (string) The key ID of the user's key. DEFAULT: key ID not used - nocache: (boolean) Don't retrieve from cache? DEFAULT: false - noserver: (boolean) Whether to check the public key servers for the key. DEFAULT: false</p>

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

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, array $opts = array() )

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
Either 'literal', 'personal', or 'symmetric'.
$opts
<p>Additional options: - passphrase: (boolean) If $type is 'personal' or 'symmetrical', the passphrase to use. - sender: (string) The sender of the message (used to check signature if message is both encrypted &amp; signed).</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 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, Horde_Mail_Rfc822_List $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, Horde_Mail_Rfc822_List $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
<p>The object to sign and encrypt.</p>
$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( mixed $key = null )

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 array
# getKeys( string $data )

Extracts public/private keys from armor data.

Extracts public/private keys from armor data.

Parameters

$data
Armor text.

Returns

array

Array with these keys: - public: (array) Array of public keys. - private: (array) Array of private keys.

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