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 IBouncyCastleFactory
private static final int
private List
<PublicKeyRecipient> private byte[]
private static final int
Fields inherited from class com.itextpdf.kernel.crypto.securityhandler.SecurityHandler
extra, md5, mkey, nextObjectKey, nextObjectKeySize
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addAllRecipients
(Certificate[] certs, int[] permissions) private void
addRecipient
(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 IKeyTransRecipientInfo
computeRecipientInfo
(X509Certificate x509Certificate, byte[] abyte0) private IASN1Primitive
createDERForRecipient
(byte[] in, X509Certificate cert) protected PdfArray
protected abstract String
private byte[]
getEncodedRecipient
(int index) private PdfArray
private int
getKeyLength
(PdfDictionary encryptionDict) private int
private byte[]
getSeed()
protected abstract void
initKey
(byte[] globalKey, int keyLength) protected void
initKeyAndFillDictionary
(PdfDictionary encryptionDictionary, Certificate[] certs, int[] permissions, boolean encryptMetadata, boolean embeddedFilesOnly) protected void
initKeyAndReadDictionary
(PdfDictionary encryptionDictionary, Key certificateKey, Certificate certificate, String certificateKeyProvider, IExternalDecryptionProcess externalDecryptionProcess, boolean encryptMetadata) protected abstract void
setPubSecSpecificHandlerDicEntries
(PdfDictionary encryptionDictionary, boolean encryptMetadata, boolean embeddedFilesOnly) Methods inherited from class com.itextpdf.kernel.crypto.securityhandler.SecurityHandler
getDecryptor, getEncryptionStream, getMkey, getNextObjectKey, 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:
IOException
GeneralSecurityException
-
getEncodedRecipients
-
createDERForRecipient
private IASN1Primitive createDERForRecipient(byte[] in, X509Certificate cert) throws IOException, GeneralSecurityException - Throws:
IOException
GeneralSecurityException
-
computeRecipientInfo
private IKeyTransRecipientInfo computeRecipientInfo(X509Certificate x509Certificate, byte[] abyte0) throws GeneralSecurityException, IOException - Throws:
GeneralSecurityException
IOException
-
getKeyLength
-