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_Smime

The IMP_Crypt_Smime:: class contains all functions related to handling S/MIME 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_Smime
Extended by IMP_Crypt_Smime
Package: IMP
Category: Horde
License: GPL
Author: Mike Cochrane mike@graftonhall.co.nz
Located at Crypt/Smime.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
# addPersonalPublicKey( mixed $key )

Add the personal public key to the prefs.

Add the personal public key to the prefs.

Parameters

$key
The public key to add (either string or array).
public
# addPersonalPrivateKey( mixed $key )

Add the personal private key to the prefs.

Add the personal private key to the prefs.

Parameters

$key
The private key to add (either string or array).
public
# addAdditionalCert( mixed $key )

Add the list of additional certs to the prefs.

Add the list of additional certs to the prefs.

Parameters

$key
The private key to add (either string or array).
public string
# getPersonalPublicKey( )

Get the personal public key from the prefs.

Get the personal public key from the prefs.

Returns

string
The personal S/MIME 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 S/MIME private key.
public string
# getAdditionalCert( )

Get any additional certificates from the prefs.

Get any additional certificates from the prefs.

Returns

string
Additional signing certs for inclusion.
public
# deletePersonalKeys( )

Deletes the specified personal keys from the prefs.

Deletes the specified personal keys from the prefs.

public
# addPublicKey( string $cert )

Add a public key to an address book.

Add a public key to an address book.

Parameters

$cert
A public certificate to add.

Throws

Horde_Exception
public array
# publicKeyInfo( string $cert )

Get information about a public certificate.

Get information about a public certificate.

Parameters

$cert
The public certificate.

Returns

array
Two element array: the name and e-mail for the cert.

Throws

Horde_Crypt_Exception
public string
# getPublicKey( string $address )

Retrieves a public key by e-mail. The key will be retrieved from a user's address book(s).

Retrieves a public key by e-mail. The key will be retrieved from a user's address book(s).

Parameters

$address
The e-mail address to search for.

Returns

string
The S/MIME public key requested.

Throws

Horde_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 S/MIME 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 stdClass
# verifySignature( string $text )

Verifies a signed message with a given public key.

Verifies a signed message with a given public key.

Parameters

$text
The text to verify.

Returns

stdClass
See Horde_Crypt_Smime::verify().

Throws

Horde_Crypt_Exception
public string
# decryptMessage( string $text )

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

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

Parameters

$text
The text to decrypt.

Returns

string
See Horde_Crypt_Smime::decrypt().

Throws

Horde_Crypt_Exception
public mixed
# getPassphrase( )

Gets the user's passphrase from the session cache.

Gets the user's passphrase from the session cache.

Returns

mixed

The passphrase, if set. Returns false if the passphrase has not been loaded yet. Returns null if no passphrase is needed.

public boolean
# storePassphrase( string $passphrase )

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

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

Parameters

$passphrase
The user's passphrase.

Returns

boolean
Returns true if correct passphrase, false if incorrect.
public
# unsetPassphrase( )

Clear the passphrase from the session cache.

Clear the passphrase from the session cache.

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 MIME_Part
# IMPencryptMIMEPart( MIME_Part $mime_part, mixed $to_address )

Encrypt a MIME_Part using S/MIME using IMP defaults.

Encrypt a MIME_Part using S/MIME using IMP defaults.

Parameters

$mime_part
The MIME_Part object to encrypt.
$to_address
<p>The e-mail address of the key to use for encryption.</p>

Returns

MIME_Part
See Horde_Crypt_Smime::encryptMIMEPart().

Throws

Horde_Crypt_Exception
public MIME_Part
# IMPsignMIMEPart( MIME_Part $mime_part )

Sign a MIME_Part using S/MIME using IMP defaults.

Sign a MIME_Part using S/MIME using IMP defaults.

Parameters

$mime_part
The MIME_Part object to sign.

Returns

MIME_Part
See Horde_Crypt_Smime::signMIMEPart().

Throws

Horde_Crypt_Exception
public MIME_Part
# IMPsignAndEncryptMIMEPart( MIME_Part $mime_part, string $to_address )

Sign and encrypt a MIME_Part using S/MIME using IMP defaults.

Sign and encrypt a MIME_Part using S/MIME using IMP defaults.

Parameters

$mime_part
The MIME_Part object to sign and encrypt.
$to_address
<p>The e-mail address of the key to use for encryption.</p>

Returns

MIME_Part
See Horde_Crypt_Smime::signAndencryptMIMEPart().

Throws

Horde_Crypt_Exception
public
# addFromPKCS12( string $pkcs12, string $password, string $pkpass = null )

Store the public/private/additional certificates in the preferences from a given PKCS 12 file.

Store the public/private/additional certificates in the preferences from a given PKCS 12 file.

Parameters

$pkcs12
The PKCS 12 data.
$password
The password of the PKCS 12 file.
$pkpass
The password to use to encrypt the private key.

Throws

Horde_Crypt_Exception
public string
# extractSignedContents( string $data )

Extract the contents from signed S/MIME data.

Extract the contents from signed S/MIME data.

Parameters

$data
The signed S/MIME data.

Returns

string
The contents embedded in the signed data.

Throws

Horde_Crypt_Exception
public
# printCertInfo( string $key = '' )

Print certificate information.

Print certificate information.

Parameters

$key
$cert The S/MIME certificate.
public
# textWindowOutput( string $name, string $msg, string $html = false )

Output text in a window.

Output text in a window.

Parameters

$name
The window name.
$msg
The text contents.
$html
$msg is HTML format?
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
# 'smimePublicKey'
string ENCRYPT
# 'smime_encrypt'
string SIGN
# 'smime_sign'
string SIGNENC
# 'smime_signenc'
API documentation generated by ApiGen