Class PubKeySecurityHandler

    • Constructor Detail

      • PubKeySecurityHandler

        protected PubKeySecurityHandler()
    • Method Detail

      • computeGlobalKey

        protected byte[] computeGlobalKey​(java.lang.String messageDigestAlgorithm,
                                          boolean encryptMetadata)
      • computeGlobalKeyOnReading

        protected static byte[] computeGlobalKeyOnReading​(PdfDictionary encryptionDictionary,
                                                          java.security.PrivateKey certificateKey,
                                                          java.security.cert.Certificate certificate,
                                                          java.lang.String certificateKeyProvider,
                                                          IExternalDecryptionProcess externalDecryptionProcess,
                                                          boolean encryptMetadata,
                                                          java.lang.String digestAlgorithm)
      • addAllRecipients

        protected void addAllRecipients​(java.security.cert.Certificate[] certs,
                                        int[] permissions)
      • createRecipientsArray

        protected PdfArray createRecipientsArray()
      • setPubSecSpecificHandlerDicEntries

        protected abstract void setPubSecSpecificHandlerDicEntries​(PdfDictionary encryptionDictionary,
                                                                   boolean encryptMetadata,
                                                                   boolean embeddedFilesOnly)
      • getDigestAlgorithm

        protected abstract java.lang.String getDigestAlgorithm()
      • initKey

        protected abstract void initKey​(byte[] globalKey,
                                        int keyLength)
      • initKeyAndFillDictionary

        protected void initKeyAndFillDictionary​(PdfDictionary encryptionDictionary,
                                                java.security.cert.Certificate[] certs,
                                                int[] permissions,
                                                boolean encryptMetadata,
                                                boolean embeddedFilesOnly)
      • initKeyAndReadDictionary

        protected void initKeyAndReadDictionary​(PdfDictionary encryptionDictionary,
                                                java.security.Key certificateKey,
                                                java.security.cert.Certificate certificate,
                                                java.lang.String certificateKeyProvider,
                                                IExternalDecryptionProcess externalDecryptionProcess,
                                                boolean encryptMetadata)
      • addRecipient

        private void addRecipient​(java.security.cert.Certificate cert,
                                  int permission)
      • getSeed

        private byte[] getSeed()
      • getRecipientsSize

        private int getRecipientsSize()
      • getEncodedRecipient

        private byte[] getEncodedRecipient​(int index)
                                    throws java.io.IOException,
                                           java.security.GeneralSecurityException
        Throws:
        java.io.IOException
        java.security.GeneralSecurityException
      • getEncodedRecipients

        private PdfArray getEncodedRecipients()
      • createDERForRecipient

        private IASN1Primitive createDERForRecipient​(byte[] in,
                                                     java.security.cert.X509Certificate cert)
                                              throws java.io.IOException,
                                                     java.security.GeneralSecurityException
        Throws:
        java.io.IOException
        java.security.GeneralSecurityException
      • computeRecipientInfo

        private IKeyTransRecipientInfo computeRecipientInfo​(java.security.cert.X509Certificate x509Certificate,
                                                            byte[] abyte0)
                                                     throws java.security.GeneralSecurityException,
                                                            java.io.IOException
        Throws:
        java.security.GeneralSecurityException
        java.io.IOException
      • getKeyLength

        private int getKeyLength​(PdfDictionary encryptionDict)