Home » pdfbox-1.1.0-src » org.apache.pdfbox.pdmodel.encryption » [javadoc | source]
public class: PublicKeyDecryptionMaterial [javadoc | source]
This class holds necessary information to decrypt a PDF document protected by the public key security handler. To decrypt such a document, we need: Objects of this class can be used with the openProtection method of PDDocument. The following example shows how to decrypt a document using a PKCS#12 certificate (typically files with a pfx extension).
PDDocument doc = PDDocument.load(document_path);
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(new FileInputStream(certificate_path), password.toCharArray());
PublicKeyDecryptionMaterial dm = new PublicKeyDecryptionMaterial(ks, null, password);
In this code sample certificate_path contains the path to the PKCS#12 certificate.
 public PublicKeyDecryptionMaterial(KeyStore keystore,
    String a,
    String pwd) 
    Create a new public key decryption material.
    keystore - The keystore were the private key and the certificate are
    a - The alias of the private key and the certificate. If the keystore contains only 1 entry, this parameter can be left null.
    pwd - The password to extract the private key from the keystore.
Method from org.apache.pdfbox.pdmodel.encryption.PublicKeyDecryptionMaterial Summary:
getCertificate,   getPassword,   getPrivateKey
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.apache.pdfbox.pdmodel.encryption.PublicKeyDecryptionMaterial Detail:
 public X509Certificate getCertificate() throws KeyStoreException 
    Returns the certificate contained in the keystore.
 public String getPassword() 
    Returns the password given by the user and that will be used to open the private key.
 public Key getPrivateKey() throws KeyStoreException 
    returns The private key that will be used to open the document protection.