Class PubKeySecurityHandler
java.lang.Object
com.itextpdf.kernel.crypto.securityhandler.SecurityHandler
com.itextpdf.kernel.crypto.securityhandler.PubKeySecurityHandler
- Direct Known Subclasses:
PubSecHandlerUsingAes128, PubSecHandlerUsingStandard40
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final IBouncyCastleFactoryprivate static final intprivate List<PublicKeyRecipient> private byte[]private static final intFields inherited from class SecurityHandler
extra, md5, mkey, nextObjectKey, nextObjectKeySize -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAllRecipients(Certificate[] certs, int[] permissions) private voidaddRecipient(Certificate cert, int permission) protected byte[]computeGlobalKey(String messageDigestAlgorithm, boolean encryptMetadata) protected static byte[]computeGlobalKeyOnReading(PdfDictionary encryptionDictionary, PrivateKey certificateKey, Certificate certificate, String certificateKeyProvider, IExternalDecryptionProcess externalDecryptionProcess, boolean encryptMetadata, String digestAlgorithm) private IKeyTransRecipientInfocomputeRecipientInfo(X509Certificate x509Certificate, byte[] abyte0) private IASN1PrimitivecreateDERForRecipient(byte[] in, X509Certificate cert) protected PdfArrayprotected abstract Stringprivate byte[]getEncodedRecipient(int index) private PdfArrayprivate intgetKeyLength(PdfDictionary encryptionDict) private intprivate byte[]getSeed()protected abstract voidinitKey(byte[] globalKey, int keyLength) protected voidinitKeyAndFillDictionary(PdfDictionary encryptionDictionary, Certificate[] certs, int[] permissions, boolean encryptMetadata, boolean embeddedFilesOnly) protected voidinitKeyAndReadDictionary(PdfDictionary encryptionDictionary, Key certificateKey, Certificate certificate, String certificateKeyProvider, IExternalDecryptionProcess externalDecryptionProcess, boolean encryptMetadata) protected abstract voidsetPubSecSpecificHandlerDicEntries(PdfDictionary encryptionDictionary, boolean encryptMetadata, boolean embeddedFilesOnly) Methods inherited from class SecurityHandler
getDecryptor, getEncryptionStream, getMkey, getNextObjectKey, initMd5MessageDigest, setHashKeyForNextObject
-
Field Details
-
BOUNCY_CASTLE_FACTORY
-
SEED_LENGTH
private static final int SEED_LENGTH- See Also:
-
DEFAULT_KEY_LENGTH
private static final int DEFAULT_KEY_LENGTH- See Also:
-
recipients
-
seed
private byte[] seed
-
-
Constructor Details
-
PubKeySecurityHandler
protected PubKeySecurityHandler()
-
-
Method Details
-
computeGlobalKey
-
computeGlobalKeyOnReading
protected static byte[] computeGlobalKeyOnReading(PdfDictionary encryptionDictionary, PrivateKey certificateKey, Certificate certificate, String certificateKeyProvider, IExternalDecryptionProcess externalDecryptionProcess, boolean encryptMetadata, String digestAlgorithm) -
addAllRecipients
-
createRecipientsArray
-
setPubSecSpecificHandlerDicEntries
protected abstract void setPubSecSpecificHandlerDicEntries(PdfDictionary encryptionDictionary, boolean encryptMetadata, boolean embeddedFilesOnly) -
getDigestAlgorithm
-
initKey
protected abstract void initKey(byte[] globalKey, int keyLength) -
initKeyAndFillDictionary
protected void initKeyAndFillDictionary(PdfDictionary encryptionDictionary, Certificate[] certs, int[] permissions, boolean encryptMetadata, boolean embeddedFilesOnly) -
initKeyAndReadDictionary
protected void initKeyAndReadDictionary(PdfDictionary encryptionDictionary, Key certificateKey, Certificate certificate, String certificateKeyProvider, IExternalDecryptionProcess externalDecryptionProcess, boolean encryptMetadata) -
addRecipient
-
getSeed
private byte[] getSeed() -
getRecipientsSize
private int getRecipientsSize() -
getEncodedRecipient
- Throws:
IOExceptionGeneralSecurityException
-
getEncodedRecipients
-
createDERForRecipient
private IASN1Primitive createDERForRecipient(byte[] in, X509Certificate cert) throws IOException, GeneralSecurityException - Throws:
IOExceptionGeneralSecurityException
-
computeRecipientInfo
private IKeyTransRecipientInfo computeRecipientInfo(X509Certificate x509Certificate, byte[] abyte0) throws GeneralSecurityException, IOException - Throws:
GeneralSecurityExceptionIOException
-
getKeyLength
-