Class BouncyCastleFactory

    • Field Detail

      • PROVIDER

        private static final java.security.Provider PROVIDER
      • PROVIDER_NAME

        private static final java.lang.String PROVIDER_NAME
    • Constructor Detail

      • BouncyCastleFactory

        public BouncyCastleFactory()
        Creates IBouncyCastleFactory for usual bouncy-castle module.
    • Method Detail

      • getAlgorithmOid

        public java.lang.String getAlgorithmOid​(java.lang.String name)
        Get signing algorithm oid from its name.
        Specified by:
        getAlgorithmOid in interface IBouncyCastleFactory
        Parameters:
        name - name of the algorithm
        Returns:
        algorithm oid
      • getDigestAlgorithmOid

        public java.lang.String getDigestAlgorithmOid​(java.lang.String name)
        Get hash algorithm oid from its name.
        Specified by:
        getDigestAlgorithmOid in interface IBouncyCastleFactory
        Parameters:
        name - name of the algorithm
        Returns:
        algorithm oid
      • getAlgorithmName

        public java.lang.String getAlgorithmName​(java.lang.String oid)
        Get signing algorithm name from its oid.
        Specified by:
        getAlgorithmName in interface IBouncyCastleFactory
        Parameters:
        oid - oid of the algorithm
        Returns:
        algorithm name
      • createASN1ObjectIdentifierInstance

        public IASN1ObjectIdentifier createASN1ObjectIdentifierInstance​(java.lang.Object object)
        Create ASN1 Object identifier wrapper from Object using getInstance method call.
        Specified by:
        createASN1ObjectIdentifierInstance in interface IBouncyCastleFactory
        Parameters:
        object - Object to create object identifier from
        Returns:
        created object identifier
      • createASN1InputStream

        public IASN1InputStream createASN1InputStream​(java.io.InputStream stream)
        Create ASN1 Input stream wrapper from InputStream.
        Specified by:
        createASN1InputStream in interface IBouncyCastleFactory
        Parameters:
        stream - InputStream to create ASN1 Input stream from
        Returns:
        created ASN1 Input stream
      • createASN1InputStream

        public IASN1InputStream createASN1InputStream​(byte[] bytes)
        Create ASN1 Input stream wrapper from byte[].
        Specified by:
        createASN1InputStream in interface IBouncyCastleFactory
        Parameters:
        bytes - byte[] to create ASN1 Input stream from
        Returns:
        created ASN1 Input stream
      • createASN1OctetString

        public IASN1OctetString createASN1OctetString​(IASN1TaggedObject taggedObject,
                                                      boolean b)
        Create ASN1 Octet string wrapper from ASN1 Tagged object wrapper and boolean parameter.
        Specified by:
        createASN1OctetString in interface IBouncyCastleFactory
        Parameters:
        taggedObject - ASN1 Tagged object wrapper to create ASN1 Octet string wrapper from
        b - boolean to create ASN1 Octet string wrapper
        Returns:
        created ASN1 Octet string wrapper
      • createASN1OctetString

        public IASN1OctetString createASN1OctetString​(byte[] bytes)
        Create ASN1 Octet string wrapper from byte[].
        Specified by:
        createASN1OctetString in interface IBouncyCastleFactory
        Parameters:
        bytes - byte[] to create ASN1 Octet string wrapper from
        Returns:
        created ASN1 Octet string wrapper
      • createASN1Sequence

        public IASN1Sequence createASN1Sequence​(java.lang.Object object)
        Cast Object to ASN1 Sequence wrapper.
        Specified by:
        createASN1Sequence in interface IBouncyCastleFactory
        Parameters:
        object - Object to be cast. Must be instance of ASN1 Sequence
        Returns:
        casted ASN1 Sequence wrapper
      • createASN1Sequence

        public IASN1Sequence createASN1Sequence​(byte[] array)
                                         throws java.io.IOException
        Create ASN1 Sequence wrapper from byte[].
        Specified by:
        createASN1Sequence in interface IBouncyCastleFactory
        Parameters:
        array - byte[] to create ASN1 Sequence wrapper from
        Returns:
        created ASN1 Sequence wrapper
        Throws:
        java.io.IOException - if issues occur during ASN1 Sequence creation
      • createASN1SequenceInstance

        public IASN1Sequence createASN1SequenceInstance​(java.lang.Object object)
        Create ASN1 Sequence wrapper from Object using getInstance method call.
        Specified by:
        createASN1SequenceInstance in interface IBouncyCastleFactory
        Parameters:
        object - Object to create ASN1 Sequence wrapper from
        Returns:
        created ASN1 Sequence wrapper
      • createDERSequence

        public IDERSequence createDERSequence​(IASN1EncodableVector encodableVector)
        Create DER Sequence wrapper from ASN1 Encodable vector wrapper.
        Specified by:
        createDERSequence in interface IBouncyCastleFactory
        Parameters:
        encodableVector - ASN1 Encodable vector wrapper to create DER Sequence wrapper from
        Returns:
        created DER Sequence wrapper
      • createDERSequence

        public IDERSequence createDERSequence​(IASN1Primitive primitive)
        Create DER Sequence wrapper from ASN1 Primitive wrapper.
        Specified by:
        createDERSequence in interface IBouncyCastleFactory
        Parameters:
        primitive - ASN1 Primitive wrapper to create DER Sequence wrapper from
        Returns:
        created DER Sequence wrapper
      • createASN1TaggedObject

        public IASN1TaggedObject createASN1TaggedObject​(IASN1Encodable encodable)
        Create ASN1 Tagged object wrapper from ASN1 Encodable wrapper.
        Specified by:
        createASN1TaggedObject in interface IBouncyCastleFactory
        Parameters:
        encodable - ASN1 Encodable vector to create ASN1 Tagged object wrapper from
        Returns:
        created ASN1 Tagged object wrapper
      • createASN1Integer

        public IASN1Integer createASN1Integer​(int i)
        Create ASN1 Integer wrapper from int.
        Specified by:
        createASN1Integer in interface IBouncyCastleFactory
        Parameters:
        i - int to create ASN1 Integer wrapper from
        Returns:
        created ASN1 Integer wrapper
      • createASN1Integer

        public IASN1Integer createASN1Integer​(java.math.BigInteger i)
        Create ASN1 Integer wrapper from BigInteger.
        Specified by:
        createASN1Integer in interface IBouncyCastleFactory
        Parameters:
        i - BigInteger to create ASN1 Integer wrapper from
        Returns:
        created ASN1 Integer wrapper
      • createASN1Set

        public IASN1Set createASN1Set​(java.lang.Object encodable)
        Create ASN1 Set wrapper from Object.
        Specified by:
        createASN1Set in interface IBouncyCastleFactory
        Parameters:
        encodable - Object to create ASN1 Set wrapper from. Must be instance of ASN1 Set
        Returns:
        created ASN1 Set wrapper
      • createASN1Set

        public IASN1Set createASN1Set​(IASN1TaggedObject taggedObject,
                                      boolean b)
        Create ASN1 Set wrapper from ASN1 Tagged object wrapper and boolean parameter.
        Specified by:
        createASN1Set in interface IBouncyCastleFactory
        Parameters:
        taggedObject - ASN1 Tagged object wrapper to create ASN1 Set wrapper from
        b - boolean to create ASN1 Set wrapper
        Returns:
        created ASN1 Set wrapper
      • createASN1OutputStream

        public IASN1OutputStream createASN1OutputStream​(java.io.OutputStream stream)
        Create ASN1 Output stream wrapper from OutputStream.
        Specified by:
        createASN1OutputStream in interface IBouncyCastleFactory
        Parameters:
        stream - OutputStream to create ASN1 Output stream wrapper from
        Returns:
        created ASN1 Output stream wrapper
      • createASN1OutputStream

        public IASN1OutputStream createASN1OutputStream​(java.io.OutputStream outputStream,
                                                        java.lang.String asn1Encoding)
        Create ASN1 Output stream wrapper from OutputStream and ASN1 Encoding.
        Specified by:
        createASN1OutputStream in interface IBouncyCastleFactory
        Parameters:
        outputStream - OutputStream to create ASN1 Output stream wrapper from
        asn1Encoding - ASN1 Encoding to be used
        Returns:
        created ASN1 Output stream wrapper
      • createDEROctetString

        public IDEROctetString createDEROctetString​(byte[] bytes)
        Create DER Octet string wrapper from byte[].
        Specified by:
        createDEROctetString in interface IBouncyCastleFactory
        Parameters:
        bytes - byte[] to create DER Octet string wrapper from
        Returns:
        created DER Octet string wrapper
      • createDERTaggedObject

        public IDERTaggedObject createDERTaggedObject​(int i,
                                                      IASN1Primitive primitive)
        Create DER Tagged object wrapper from int value and ASN1 Primitive wrapper.
        Specified by:
        createDERTaggedObject in interface IBouncyCastleFactory
        Parameters:
        i - int value for DER Tagged object wrapper creation
        primitive - ASN1 Primitive wrapper to create DER Tagged object wrapper from
        Returns:
        created DER Tagged object wrapper
      • createDERTaggedObject

        public IDERTaggedObject createDERTaggedObject​(boolean b,
                                                      int i,
                                                      IASN1Primitive primitive)
        Create DER Tagged object wrapper from int value, boolean value and ASN1 Primitive wrapper.
        Specified by:
        createDERTaggedObject in interface IBouncyCastleFactory
        Parameters:
        b - boolean value for DER Tagged object wrapper creation
        i - int value for DER Tagged object wrapper creation
        primitive - ASN1 Primitive wrapper to create DER Tagged object wrapper from
        Returns:
        created DER Tagged object wrapper
      • createDERSet

        public IDERSet createDERSet​(IASN1EncodableVector encodableVector)
        Create DER Set wrapper from ASN1 Encodable vector wrapper.
        Specified by:
        createDERSet in interface IBouncyCastleFactory
        Parameters:
        encodableVector - ASN1 Encodable vector wrapper to create DER Set wrapper from
        Returns:
        created DER Set wrapper
      • createDERSet

        public IDERSet createDERSet​(IASN1Primitive primitive)
        Create DER Set wrapper from ASN1 Primitive wrapper.
        Specified by:
        createDERSet in interface IBouncyCastleFactory
        Parameters:
        primitive - ASN1 Primitive wrapper to create DER Set wrapper from
        Returns:
        created DER Set wrapper
      • createDERSet

        public IDERSet createDERSet​(ISignaturePolicyIdentifier identifier)
        Create DER Set wrapper from signature policy identifier wrapper.
        Specified by:
        createDERSet in interface IBouncyCastleFactory
        Parameters:
        identifier - signature policy identifier wrapper to create DER Set wrapper from
        Returns:
        created DER Set wrapper
      • createDERSet

        public IDERSet createDERSet​(IRecipientInfo recipientInfo)
        Create DER Set wrapper from recipient info wrapper.
        Specified by:
        createDERSet in interface IBouncyCastleFactory
        Parameters:
        recipientInfo - recipient info wrapper to create DER Set wrapper from
        Returns:
        created DER Set wrapper
      • createASN1Enumerated

        public IASN1Enumerated createASN1Enumerated​(int i)
        Create ASN1 Enumerated wrapper from int value.
        Specified by:
        createASN1Enumerated in interface IBouncyCastleFactory
        Parameters:
        i - int to create ASN1 Enumerated wrapper from
        Returns:
        created ASN1 Enumerated wrapper
      • createAttributeTable

        public IAttributeTable createAttributeTable​(IASN1Set unat)
        Create attribute table wrapper from ASN1 Set wrapper.
        Specified by:
        createAttributeTable in interface IBouncyCastleFactory
        Parameters:
        unat - ASN1 Set wrapper to create attribute table wrapper from
        Returns:
        created attribute table wrapper
      • createAttribute

        public IAttribute createAttribute​(IASN1ObjectIdentifier attrType,
                                          IASN1Set attrValues)
        Create attribute wrapper from ASN1 Object identifier wrapper and ASN1 Set wrapper.
        Specified by:
        createAttribute in interface IBouncyCastleFactory
        Parameters:
        attrType - ASN1 Object identifier wrapper to create attribute wrapper from
        attrValues - ASN1 Object identifier wrapper to create attribute wrapper from
        Returns:
        created attribute wrapper
      • createContentInfo

        public IContentInfo createContentInfo​(IASN1Sequence sequence)
        Create content info wrapper from ASN1 Sequence wrapper.
        Specified by:
        createContentInfo in interface IBouncyCastleFactory
        Parameters:
        sequence - ASN1 Sequence wrapper to create content info wrapper from
        Returns:
        created content info wrapper
      • createContentInfo

        public IContentInfo createContentInfo​(IASN1ObjectIdentifier objectIdentifier,
                                              IASN1Encodable encodable)
        Create content info wrapper from ASN1 Object identifier wrapper and ASN1 Encodable wrapper.
        Specified by:
        createContentInfo in interface IBouncyCastleFactory
        Parameters:
        objectIdentifier - ASN1 Object identifier wrapper to create content info wrapper from
        encodable - ASN1 Encodable wrapper to create content info wrapper from
        Returns:
        created content info wrapper
      • createTimeStampToken

        public ITimeStampToken createTimeStampToken​(IContentInfo contentInfo)
                                             throws TSPExceptionBC,
                                                    java.io.IOException
        Create timestamp token wrapper from content info wrapper.
        Specified by:
        createTimeStampToken in interface IBouncyCastleFactory
        Parameters:
        contentInfo - content info wrapper to create timestamp token wrapper from
        Returns:
        created timestamp token wrapper
        Throws:
        java.io.IOException - if input-output exception occurs during wrapper creation
        TSPExceptionBC
      • createSigningCertificateV2

        public ISigningCertificateV2 createSigningCertificateV2​(IASN1Sequence sequence)
        Create signing certificate version 2 wrapper from ASN1 Sequence wrapper.
        Specified by:
        createSigningCertificateV2 in interface IBouncyCastleFactory
        Parameters:
        sequence - ASN1 Sequence wrapper to create signing certificate version 2 wrapper from
        Returns:
        created signing certificate version 2 wrapper
      • createBasicOCSPResponse

        public IBasicOCSPResponse createBasicOCSPResponse​(IASN1Primitive primitive)
        Create basic OCSP Response wrapper from ASN1 Primitive wrapper.
        Specified by:
        createBasicOCSPResponse in interface IBouncyCastleFactory
        Parameters:
        primitive - ASN1 Primitive wrapper to create basic OCSP response wrapper from
        Returns:
        created basic OCSP response wrapper
      • createBasicOCSPResponse

        public IBasicOCSPResponse createBasicOCSPResponse​(byte[] bytes)
        Create basic OCSP Response wrapper from byte[] array.
        Specified by:
        createBasicOCSPResponse in interface IBouncyCastleFactory
        Parameters:
        bytes - byte[] array to create basic OCSP response wrapper from
        Returns:
        created basic OCSP response wrapper
      • createBasicOCSPResp

        public IBasicOCSPResp createBasicOCSPResp​(IBasicOCSPResponse response)
        Create basic OCSP Resp wrapper from basic OCSP Response wrapper.
        Specified by:
        createBasicOCSPResp in interface IBouncyCastleFactory
        Parameters:
        response - basic OCSP Response wrapper to create basic OCSP Resp wrapper from
        Returns:
        created basic OCSP Resp wrapper
      • createBasicOCSPResp

        public IBasicOCSPResp createBasicOCSPResp​(java.lang.Object response)
        Create basic OCSP Resp wrapper from Object.
        Specified by:
        createBasicOCSPResp in interface IBouncyCastleFactory
        Parameters:
        response - Object to create basic OCSP Resp wrapper from. Must be actual basic OCSP Resp instance
        Returns:
        created basic OCSP Resp wrapper
      • createAlgorithmIdentifier

        public IAlgorithmIdentifier createAlgorithmIdentifier​(IASN1ObjectIdentifier algorithm,
                                                              IASN1Encodable parameters)
        Create algorithm identifier wrapper from ASN1 Object identifier wrapper and ASN1 Encodable wrapper for the parameters.
        Specified by:
        createAlgorithmIdentifier in interface IBouncyCastleFactory
        Parameters:
        algorithm - ASN1 Object identifier wrapper to create algorithm identifier wrapper from
        parameters - ASN1 Encodable wrapper to create algorithm parameters.
        Returns:
        created algorithm identifier wrapper
      • createRSASSAPSSParams

        public IRSASSAPSSParams createRSASSAPSSParams​(IASN1Encodable encodable)
        Create a RSASSA-PSS params wrapper from an ASN1 Encodable wrapper.
        Specified by:
        createRSASSAPSSParams in interface IBouncyCastleFactory
        Parameters:
        encodable - ASN1 Encodable wrapper to create RSASSA-PSS params wrapper from
        Returns:
        created RSASSA-PSS params wrapper
      • createRSASSAPSSParamsWithMGF1

        public IRSASSAPSSParams createRSASSAPSSParamsWithMGF1​(IASN1ObjectIdentifier digestAlgoOid,
                                                              int saltLen,
                                                              int trailerField)
        Create a RSASSA-PSS params wrapper from a digest algorithm OID, a salt length and a trailer field length. The mask generation function will be set to MGF1, and the same digest algorithm will be used to populate the MGF parameters.
        Specified by:
        createRSASSAPSSParamsWithMGF1 in interface IBouncyCastleFactory
        Parameters:
        digestAlgoOid - identifier of the digest algorithm to be used both in the MGF and in the signature
        saltLen - salt length value
        trailerField - trailer field value
        Returns:
        an IRSASSAPSSParams object initialised with the parameters supplied
      • getProvider

        public java.security.Provider getProvider()
        Get Provider instance for this factory.
        Specified by:
        getProvider in interface IBouncyCastleFactory
        Returns:
        Provider instance
      • getProviderName

        public java.lang.String getProviderName()
        Get String which represents providers name for this factory.
        Specified by:
        getProviderName in interface IBouncyCastleFactory
        Returns:
        String which represents providers name
      • createJceKeyTransEnvelopedRecipient

        public IJceKeyTransEnvelopedRecipient createJceKeyTransEnvelopedRecipient​(java.security.PrivateKey privateKey)
        Create Jce Key trans enveloped recipient wrapper from PrivateKey.
        Specified by:
        createJceKeyTransEnvelopedRecipient in interface IBouncyCastleFactory
        Parameters:
        privateKey - PrivateKey to create Jce Key trans enveloped recipient wrapper from
        Returns:
        created Jce Key trans enveloped recipient wrapper
      • createJceKeyAgreeEnvelopedRecipient

        public IJceKeyAgreeEnvelopedRecipient createJceKeyAgreeEnvelopedRecipient​(java.security.PrivateKey privateKey)
        Create Jce Key agree enveloped recipient wrapper from PrivateKey.
        Specified by:
        createJceKeyAgreeEnvelopedRecipient in interface IBouncyCastleFactory
        Parameters:
        privateKey - PrivateKey to create Jce Key agree enveloped recipient wrapper from
        Returns:
        created Jce Key agree enveloped recipient wrapper
      • createCertificateID

        public ICertificateID createCertificateID​(IDigestCalculator digestCalculator,
                                                  IX509CertificateHolder certificateHolder,
                                                  java.math.BigInteger bigInteger)
                                           throws OCSPExceptionBC
        Create certificate ID wrapper from digest calculator, X509 Certificate holder wrappers and BigInteger.
        Specified by:
        createCertificateID in interface IBouncyCastleFactory
        Parameters:
        digestCalculator - digest calculator wrapper to create certificate ID wrapper from
        certificateHolder - X509 Certificate holder wrapper to create certificate ID wrapper from
        bigInteger - BigInteger to create certificate ID wrapper from
        Returns:
        created certificate ID wrapper
        Throws:
        OCSPExceptionBC
      • createX509CertificateHolder

        public IX509CertificateHolder createX509CertificateHolder​(byte[] bytes)
                                                           throws java.io.IOException
        Create X509 Certificate holder wrapper from byte[].
        Specified by:
        createX509CertificateHolder in interface IBouncyCastleFactory
        Parameters:
        bytes - byte[] value to create X509 Certificate holder wrapper from
        Returns:
        created X509 Certificate holder wrapper
        Throws:
        java.io.IOException - if input-output exception occurs during wrapper creation
      • createJcaX509CertificateHolder

        public IJcaX509CertificateHolder createJcaX509CertificateHolder​(java.security.cert.X509Certificate certificate)
                                                                 throws java.security.cert.CertificateEncodingException
        Create Jca X509 Certificate holder wrapper from X509Certificate.
        Specified by:
        createJcaX509CertificateHolder in interface IBouncyCastleFactory
        Parameters:
        certificate - X509Certificate to create Jca X509 Certificate holder wrapper from
        Returns:
        created Jca X509 Certificate holder wrapper
        Throws:
        java.security.cert.CertificateEncodingException - if certificate encoding exception occurs during wrapper creation
      • createExtension

        public IExtension createExtension​(IASN1ObjectIdentifier objectIdentifier,
                                          boolean critical,
                                          IASN1OctetString octetString)
        Create extension wrapper from ASN1 Object identifier wrapper, boolean and ASN1 Octet string wrapper.
        Specified by:
        createExtension in interface IBouncyCastleFactory
        Parameters:
        objectIdentifier - ASN1 Object identifier wrapper to create extension wrapper from
        critical - boolean to create extension wrapper
        octetString - ASN1 Octet string wrapper to create extension wrapper from
        Returns:
        created extension wrapper
      • createExtensions

        public IExtensions createExtensions​(IExtension extension)
        Create extensions wrapper from extension wrapper.
        Specified by:
        createExtensions in interface IBouncyCastleFactory
        Parameters:
        extension - extension wrapper to create extensions wrapper from
        Returns:
        created extensions wrapper
      • createExtensions

        public IExtensions createExtensions​(IExtension[] extensions)
        Create extensions wrapper from extension wrapper.
        Specified by:
        createExtensions in interface IBouncyCastleFactory
        Parameters:
        extensions - array of the extension wrappers to create extensions wrapper from
        Returns:
        created extensions wrapper
      • createSigPolicyQualifierInfo

        public ISigPolicyQualifierInfo createSigPolicyQualifierInfo​(IASN1ObjectIdentifier objectIdentifier,
                                                                    IDERIA5String string)
        Create sig policy qualifier info wrapper from ASN1 Object identifier wrapper and DERIA5 String wrapper.
        Specified by:
        createSigPolicyQualifierInfo in interface IBouncyCastleFactory
        Parameters:
        objectIdentifier - ASN1 Object identifier wrapper to create sig policy qualifier info wrapper from
        string - DERIA5 String wrapper to create sig policy qualifier info wrapper from
        Returns:
        created sig policy qualifier info wrapper
      • createASN1Primitive

        public IASN1Primitive createASN1Primitive​(byte[] array)
                                           throws java.io.IOException
        Create ASN1 Primitive wrapper from byte[] value.
        Specified by:
        createASN1Primitive in interface IBouncyCastleFactory
        Parameters:
        array - byte[] value to create ASN1 Primitive wrapper from
        Returns:
        created ASN1 Primitive wrapper
        Throws:
        java.io.IOException - if input-output exception occurs during creation
      • createOCSPResp

        public IOCSPResp createOCSPResp​(IOCSPResponse ocspResponse)
        Create OCSP Resp wrapper from OCSP Response wrapper.
        Specified by:
        createOCSPResp in interface IBouncyCastleFactory
        Parameters:
        ocspResponse - OCSP Response wrapper to create OCSP Resp wrapper from
        Returns:
        created OCSP Resp wrapper
      • createOCSPResp

        public IOCSPResp createOCSPResp​(byte[] bytes)
                                 throws java.io.IOException
        Create OCSP Resp wrapper from byte[] value.
        Specified by:
        createOCSPResp in interface IBouncyCastleFactory
        Parameters:
        bytes - byte[] value to create OCSP Resp wrapper from
        Returns:
        created OCSP Resp wrapper
        Throws:
        java.io.IOException - if input-output exception occurs during creation
      • createOCSPResponse

        public IOCSPResponse createOCSPResponse​(IOCSPResponseStatus respStatus,
                                                IResponseBytes responseBytes)
        Create OCSP Response wrapper from OCSP Response status wrapper and response bytes wrapper.
        Specified by:
        createOCSPResponse in interface IBouncyCastleFactory
        Parameters:
        respStatus - OCSP Response status wrapper to create OCSP Response wrapper from
        responseBytes - response bytes wrapper to create OCSP Response wrapper from
        Returns:
        created OCSP Response wrapper
      • createResponseBytes

        public IResponseBytes createResponseBytes​(IASN1ObjectIdentifier asn1ObjectIdentifier,
                                                  IDEROctetString derOctetString)
        Create response bytes wrapper from ASN1 Object identifier wrapper and DER Octet string wrapper.
        Specified by:
        createResponseBytes in interface IBouncyCastleFactory
        Parameters:
        asn1ObjectIdentifier - ASN1 Object identifier wrapper to create response bytes wrapper from
        derOctetString - DER Octet string wrapper to create response bytes wrapper from
        Returns:
        created response bytes wrapper
      • createOCSPResponseStatus

        public IOCSPResponseStatus createOCSPResponseStatus​(int status)
        Create OCSP Response status wrapper from int value.
        Specified by:
        createOCSPResponseStatus in interface IBouncyCastleFactory
        Parameters:
        status - int value to create OCSP Response status wrapper from
        Returns:
        created OCSP Response status wrapper
      • createRevokedStatus

        public IRevokedStatus createRevokedStatus​(ICertificateStatus certificateStatus)
        Create revoked status wrapper from certificate status wrapper.
        Specified by:
        createRevokedStatus in interface IBouncyCastleFactory
        Parameters:
        certificateStatus - certificate status wrapper to create revoked status wrapper from
        Returns:
        created revoked status wrapper
      • createRevokedStatus

        public IRevokedStatus createRevokedStatus​(java.util.Date date,
                                                  int i)
        Create revoked status wrapper from Date and int value.
        Specified by:
        createRevokedStatus in interface IBouncyCastleFactory
        Parameters:
        date - Date to create revoked status wrapper from
        i - int value to create revoked status wrapper from
        Returns:
        created revoked status wrapper
      • createDERIA5String

        public IDERIA5String createDERIA5String​(IASN1TaggedObject taggedObject,
                                                boolean b)
        Create DERIA5 String wrapper from ASN1 Tagged object wrapper and boolean value.
        Specified by:
        createDERIA5String in interface IBouncyCastleFactory
        Parameters:
        taggedObject - ASN1 Tagged object wrapper to create DERIA5 String wrapper from
        b - boolean value to create DERIA5 String wrapper from
        Returns:
        created DERIA5 String wrapper
      • createDERIA5String

        public IDERIA5String createDERIA5String​(java.lang.String str)
        Create DERIA5 String wrapper from String value.
        Specified by:
        createDERIA5String in interface IBouncyCastleFactory
        Parameters:
        str - String value to create DERIA5 String wrapper from
        Returns:
        created DERIA5 String wrapper
      • createCRLDistPoint

        public ICRLDistPoint createCRLDistPoint​(java.lang.Object object)
        Create CRL Dist point wrapper from Object.
        Specified by:
        createCRLDistPoint in interface IBouncyCastleFactory
        Parameters:
        object - Object to create CRL Dist point wrapper from
        Returns:
        created CRL Dist point wrapper
      • createIssuingDistributionPoint

        public IIssuingDistributionPoint createIssuingDistributionPoint​(java.lang.Object point)
        Create Issuing Distribution Point wrapper from Object.
        Specified by:
        createIssuingDistributionPoint in interface IBouncyCastleFactory
        Parameters:
        point - Object to create Issuing Distribution Point wrapper from
        Returns:
        created Issuing Distribution Point wrapper.
      • createIssuingDistributionPoint

        public IIssuingDistributionPoint createIssuingDistributionPoint​(IDistributionPointName distributionPoint,
                                                                        boolean onlyContainsUserCerts,
                                                                        boolean onlyContainsCACerts,
                                                                        IReasonFlags onlySomeReasons,
                                                                        boolean indirectCRL,
                                                                        boolean onlyContainsAttributeCerts)
        Create Issuing Distribution Point wrapper with specified values.
        Specified by:
        createIssuingDistributionPoint in interface IBouncyCastleFactory
        Parameters:
        distributionPoint - one of names from the corresponding distributionPoint from the cRLDistributionPoints extension of every certificate that is within the scope of this CRL
        onlyContainsUserCerts - true if the scope of the CRL only includes end entity public key certificates
        onlyContainsCACerts - true if the scope of the CRL only includes CA certificates
        onlySomeReasons - reason codes associated with a distribution point
        indirectCRL - true if CRL includes certificates issued by authorities other than the CRL issuer, false if the scope of the CRL only includes certificates issued by the CRL issuer
        onlyContainsAttributeCerts - true if the scope of the CRL only includes attribute certificates
        Returns:
        created Issuing Distribution Point wrapper.
      • createReasonFlags

        public IReasonFlags createReasonFlags​(int reasons)
        Creates the wrapper for ReasonFlags.
        Specified by:
        createReasonFlags in interface IBouncyCastleFactory
        Parameters:
        reasons - the bitwise OR of the Key Reason flags giving the allowed uses for the key
        Returns:
        created ReasonFlags wrapper.
      • createOtherHashAlgAndValue

        public IOtherHashAlgAndValue createOtherHashAlgAndValue​(IAlgorithmIdentifier algorithmIdentifier,
                                                                IASN1OctetString octetString)
        Create other hash alg and value wrapper from algorithm identifier wrapper and ASN1 Octet string wrapper.
        Specified by:
        createOtherHashAlgAndValue in interface IBouncyCastleFactory
        Parameters:
        algorithmIdentifier - algorithm identifier wrapper to create other hash alg and value wrapper from
        octetString - ASN1 Octet string wrapper to create other hash alg and value wrapper from
        Returns:
        created other hash alg and value wrapper
      • createSignaturePolicyId

        public ISignaturePolicyId createSignaturePolicyId​(IASN1ObjectIdentifier objectIdentifier,
                                                          IOtherHashAlgAndValue algAndValue)
        Create signature policy id wrapper from ASN1 Object identifier wrapper and other hash alg and value wrapper.
        Specified by:
        createSignaturePolicyId in interface IBouncyCastleFactory
        Parameters:
        objectIdentifier - ASN1 Object identifier wrapper to create signature policy id wrapper from
        algAndValue - other hash alg and value wrapper to create signature policy id wrapper from
        Returns:
        created signature policy id wrapper
      • createSignaturePolicyId

        public ISignaturePolicyId createSignaturePolicyId​(IASN1ObjectIdentifier objectIdentifier,
                                                          IOtherHashAlgAndValue algAndValue,
                                                          ISigPolicyQualifierInfo... policyQualifiers)
        Create signature policy id wrapper from ASN1 Object identifier wrapper, other hash alg and value wrapper and sig policy qualifier info wrappers.
        Specified by:
        createSignaturePolicyId in interface IBouncyCastleFactory
        Parameters:
        objectIdentifier - ASN1 Object identifier wrapper to create signature policy id wrapper from
        algAndValue - other hash alg and value wrapper to create signature policy id wrapper from
        policyQualifiers - sig policy qualifier info wrappers to create signature policy id wrapper from
        Returns:
        created signature policy id wrapper
      • createEnvelopedData

        public IEnvelopedData createEnvelopedData​(IOriginatorInfo originatorInfo,
                                                  IASN1Set set,
                                                  IEncryptedContentInfo encryptedContentInfo,
                                                  IASN1Set set1)
        Create enveloped data wrapper from originator info wrapper, ASN1 Set wrapper, encrypted content info wrapper and another ASN1 Set wrapper.
        Specified by:
        createEnvelopedData in interface IBouncyCastleFactory
        Parameters:
        originatorInfo - originator info wrapper to create enveloped data wrapper from
        set - ASN1 Set wrapper to create enveloped data wrapper from
        encryptedContentInfo - encrypted content info wrapper to create enveloped data wrapper from
        set1 - ASN1 Set wrapper to create enveloped data wrapper from
        Returns:
        created enveloped data wrapper
      • createRecipientInfo

        public IRecipientInfo createRecipientInfo​(IKeyTransRecipientInfo keyTransRecipientInfo)
        Create recipient info wrapper from key trans recipient info wrapper.
        Specified by:
        createRecipientInfo in interface IBouncyCastleFactory
        Parameters:
        keyTransRecipientInfo - key trans recipient info wrapper to create recipient info wrapper from
        Returns:
        created recipient info wrapper
      • createEncryptedContentInfo

        public IEncryptedContentInfo createEncryptedContentInfo​(IASN1ObjectIdentifier data,
                                                                IAlgorithmIdentifier algorithmIdentifier,
                                                                IASN1OctetString octetString)
        Create encrypted content info wrapper from ASN1 Object identifier wrapper, algorithm identifier wrapper and ASN1 Octet string wrapper.
        Specified by:
        createEncryptedContentInfo in interface IBouncyCastleFactory
        Parameters:
        data - ASN1 Object identifier wrapper to create encrypted content info wrapper from
        algorithmIdentifier - algorithm identifier wrapper to create encrypted content info wrapper from
        octetString - ASN1 Octet string wrapper to create encrypted content info wrapper from
        Returns:
        created encrypted content info wrapper
      • createTBSCertificate

        public ITBSCertificate createTBSCertificate​(IASN1Encodable encodable)
        Create TBS Certificate wrapper from ASN1 Encodable wrapper.
        Specified by:
        createTBSCertificate in interface IBouncyCastleFactory
        Parameters:
        encodable - ASN1 Encodable wrapper to create TBS Certificate wrapper from
        Returns:
        created TBS Certificate wrapper
      • createTBSCertificate

        public ITBSCertificate createTBSCertificate​(byte[] bytes)
        Create TBS Certificate wrapper from ASN1 Encoded data.
        Specified by:
        createTBSCertificate in interface IBouncyCastleFactory
        Parameters:
        bytes - ASN1 Encoded TBS Certificate
        Returns:
        created TBS Certificate wrapper
      • createIssuerAndSerialNumber

        public IIssuerAndSerialNumber createIssuerAndSerialNumber​(IX500Name issuer,
                                                                  java.math.BigInteger value)
        Create issuer and serial number wrapper from X500 Name wrapper and BigInteger.
        Specified by:
        createIssuerAndSerialNumber in interface IBouncyCastleFactory
        Parameters:
        issuer - X500 Name wrapper to create issuer and serial number wrapper from
        value - BigInteger to create issuer and serial number wrapper from
        Returns:
        created issuer and serial number wrapper
      • createRecipientIdentifier

        public IRecipientIdentifier createRecipientIdentifier​(IIssuerAndSerialNumber issuerAndSerialNumber)
        Create recipient identifier wrapper from issuer and serial number wrapper.
        Specified by:
        createRecipientIdentifier in interface IBouncyCastleFactory
        Parameters:
        issuerAndSerialNumber - issuer and serial number wrapper to create recipient identifier wrapper from
        Returns:
        created recipient identifier wrapper
      • createKeyTransRecipientInfo

        public IKeyTransRecipientInfo createKeyTransRecipientInfo​(IRecipientIdentifier recipientIdentifier,
                                                                  IAlgorithmIdentifier algorithmIdentifier,
                                                                  IASN1OctetString octetString)
        Create key trans recipient info wrapper from recipient identifier wrapper, algorithm identifier wrapper and ASN1 Octet string wrapper.
        Specified by:
        createKeyTransRecipientInfo in interface IBouncyCastleFactory
        Parameters:
        recipientIdentifier - recipient identifier wrapper to create key trans recipient info wrapper from
        algorithmIdentifier - algorithm identifier wrapper to create key trans recipient info wrapper from
        octetString - ASN1 Octet string wrapper to create key trans recipient info wrapper from
        Returns:
        created key trans recipient info wrapper
      • createTimeStampResponse

        public ITimeStampResponse createTimeStampResponse​(byte[] respBytes)
                                                   throws TSPExceptionBC,
                                                          java.io.IOException
        Create timestamp response wrapper from byte[] value.
        Specified by:
        createTimeStampResponse in interface IBouncyCastleFactory
        Parameters:
        respBytes - byte[] value to create timestamp response wrapper from
        Returns:
        created timestamp response wrapper
        Throws:
        java.io.IOException - if input-output exception occurs during creation
        TSPExceptionBC
      • createAbstractOCSPException

        public AbstractOCSPException createAbstractOCSPException​(java.lang.Exception e)
        Create OCSP Exception wrapper from usual Exception.
        Specified by:
        createAbstractOCSPException in interface IBouncyCastleFactory
        Parameters:
        e - Exception to create OCSP Exception wrapper from
        Returns:
        created OCSP Exception wrapper
      • createJcaCertStore

        public IJcaCertStore createJcaCertStore​(java.util.List<java.security.cert.Certificate> certificates)
                                         throws java.security.cert.CertificateEncodingException
        Create Jca cert store wrapper from List of Certificate objects.
        Specified by:
        createJcaCertStore in interface IBouncyCastleFactory
        Parameters:
        certificates - List of Certificate objects to create Jca cert store wrapper from
        Returns:
        created Jca cert store wrapper
        Throws:
        java.security.cert.CertificateEncodingException - if certificate encoding exception occurs during wrapper creation
      • createTimeStampResponseGenerator

        public ITimeStampResponseGenerator createTimeStampResponseGenerator​(ITimeStampTokenGenerator tokenGenerator,
                                                                            java.util.Set<java.lang.String> algorithms)
        Create timestamp response generator wrapper from timestamp token generator wrapper and Set of algorithms.
        Specified by:
        createTimeStampResponseGenerator in interface IBouncyCastleFactory
        Parameters:
        tokenGenerator - timestamp token generator wrapper to create timestamp response generator wrapper from
        algorithms - Set of algorithms to create timestamp response generator wrapper from
        Returns:
        created timestamp response generator wrapper
      • createTimeStampRequest

        public ITimeStampRequest createTimeStampRequest​(byte[] bytes)
                                                 throws java.io.IOException
        Create timestamp request wrapper from byte[] value.
        Specified by:
        createTimeStampRequest in interface IBouncyCastleFactory
        Parameters:
        bytes - byte[] value to create timestamp request wrapper from
        Returns:
        created timestamp request wrapper
        Throws:
        java.io.IOException - if input-output exception occurs during creation
      • createJcaContentSignerBuilder

        public IJcaContentSignerBuilder createJcaContentSignerBuilder​(java.lang.String algorithm)
        Create Jca content signer builder wrapper from String algorithm.
        Specified by:
        createJcaContentSignerBuilder in interface IBouncyCastleFactory
        Parameters:
        algorithm - String algorithm to create Jca content signer builder wrapper from
        Returns:
        created Jca content signer builder wrapper
      • createX500Name

        public IX500Name createX500Name​(java.security.cert.X509Certificate certificate)
                                 throws java.security.cert.CertificateEncodingException
        Create X500 Name wrapper from X509Certificate.
        Specified by:
        createX500Name in interface IBouncyCastleFactory
        Parameters:
        certificate - X509Certificate to create X500 Name wrapper from
        Returns:
        created X500 Name wrapper
        Throws:
        java.security.cert.CertificateEncodingException - if certificate encoding exception occurs during wrapper creation
      • createX500Name

        public IX500Name createX500Name​(java.lang.String s)
        Create X500 Name wrapper from String.
        Specified by:
        createX500Name in interface IBouncyCastleFactory
        Parameters:
        s - String to create X500 Name wrapper from
        Returns:
        created X500 Name wrapper
      • createRespID

        public IRespID createRespID​(IX500Name x500Name)
        Create resp ID wrapper from X500 Name wrapper.
        Specified by:
        createRespID in interface IBouncyCastleFactory
        Parameters:
        x500Name - X500 Name wrapper to create resp ID wrapper from
        Returns:
        created resp ID wrapper
      • createBasicOCSPRespBuilder

        public IBasicOCSPRespBuilder createBasicOCSPRespBuilder​(IRespID respID)
        Create basic OCSP Resp builder wrapper from resp ID wrapper.
        Specified by:
        createBasicOCSPRespBuilder in interface IBouncyCastleFactory
        Parameters:
        respID - resp ID wrapper to create basic OCSP Resp builder wrapper from
        Returns:
        created basic OCSP Resp builder wrapper
      • createOCSPReq

        public IOCSPReq createOCSPReq​(byte[] requestBytes)
                               throws java.io.IOException
        Create OCSP Req wrapper from byte[].
        Specified by:
        createOCSPReq in interface IBouncyCastleFactory
        Parameters:
        requestBytes - byte[] to create OCSP Req wrapper from
        Returns:
        created OCSP Req wrapper
        Throws:
        java.io.IOException - if input-output exception occurs during creation
      • createX509v2CRLBuilder

        public IX509v2CRLBuilder createX509v2CRLBuilder​(IX500Name x500Name,
                                                        java.util.Date date)
        Create X509 Version 2 CRL Builder wrapper from X500 Name wrapper and Date.
        Specified by:
        createX509v2CRLBuilder in interface IBouncyCastleFactory
        Parameters:
        x500Name - X500 Name wrapper to create X509 Version 2 CRL Builder wrapper from
        date - Date to create X509 Version 2 CRL Builder wrapper from
        Returns:
        created X509 Version 2 CRL Builder wrapper
      • createJcaX509v3CertificateBuilder

        public IJcaX509v3CertificateBuilder createJcaX509v3CertificateBuilder​(java.security.cert.X509Certificate signingCert,
                                                                              java.math.BigInteger certSerialNumber,
                                                                              java.util.Date startDate,
                                                                              java.util.Date endDate,
                                                                              IX500Name subjectDnName,
                                                                              java.security.PublicKey publicKey)
        Create Jca X509 Version 3 certificate builder wrapper from X509Certificate, BigInteger, start Date, end Date, X500 Name wrapper and PublicKey.
        Specified by:
        createJcaX509v3CertificateBuilder in interface IBouncyCastleFactory
        Parameters:
        signingCert - X509Certificate to create Jca X509 Version 3 certificate builder wrapper from
        certSerialNumber - BigInteger to create Jca X509 Version 3 certificate builder wrapper from
        startDate - start Date to create Jca X509 Version 3 certificate builder wrapper from
        endDate - end Date to create Jca X509 Version 3 certificate builder wrapper from
        subjectDnName - X500 Name wrapper to create Jca X509 Version 3 certificate builder wrapper from
        publicKey - PublicKey to create Jca X509 Version 3 certificate builder wrapper from
        Returns:
        created Jca X509 Version 3 certificate builder wrapper
      • createBasicConstraints

        public IBasicConstraints createBasicConstraints​(boolean b)
        Create basic constraints wrapper from boolean value.
        Specified by:
        createBasicConstraints in interface IBouncyCastleFactory
        Parameters:
        b - boolean value to create basic constraints wrapper from
        Returns:
        created basic constraints wrapper
      • createBasicConstraints

        public IBasicConstraints createBasicConstraints​(int pathLength)
        Create basic constraints wrapper from int value.
        Specified by:
        createBasicConstraints in interface IBouncyCastleFactory
        Parameters:
        pathLength - int flag to create basic constraints wrapper from
        Returns:
        created basic constraints wrapper
      • createKeyUsage

        public IKeyUsage createKeyUsage​(int i)
        Create key usage wrapper from int value.
        Specified by:
        createKeyUsage in interface IBouncyCastleFactory
        Parameters:
        i - int value to create key usage wrapper from
        Returns:
        created key usage wrapper
      • createExtendedKeyUsage

        public IExtendedKeyUsage createExtendedKeyUsage​(IKeyPurposeId purposeId)
        Create extended key usage wrapper from key purpose id wrapper.
        Specified by:
        createExtendedKeyUsage in interface IBouncyCastleFactory
        Parameters:
        purposeId - key purpose id wrapper to create extended key usage wrapper from
        Returns:
        created extended key usage wrapper
      • createX509ExtensionUtils

        public IX509ExtensionUtils createX509ExtensionUtils​(IDigestCalculator digestCalculator)
        Create X509 Extension utils wrapper from digest calculator wrapper.
        Specified by:
        createX509ExtensionUtils in interface IBouncyCastleFactory
        Parameters:
        digestCalculator - digest calculator wrapper to create X509 Extension utils wrapper from
        Returns:
        created X509 Extension utils wrapper
      • createSubjectPublicKeyInfo

        public ISubjectPublicKeyInfo createSubjectPublicKeyInfo​(java.lang.Object object)
        Create subject public key info wrapper from Object.
        Specified by:
        createSubjectPublicKeyInfo in interface IBouncyCastleFactory
        Parameters:
        object - Object to create subject public ket info wrapper from
        Returns:
        created subject public ket info wrapper
      • createTSTInfo

        public ITSTInfo createTSTInfo​(IContentInfo contentInfo)
                               throws AbstractTSPException,
                                      java.io.IOException
        Create TST Info wrapper from content info wrapper.
        Specified by:
        createTSTInfo in interface IBouncyCastleFactory
        Parameters:
        contentInfo - content info wrapper to create TST Info wrapper from
        Returns:
        created TST Info wrapper
        Throws:
        AbstractTSPException - if actual TSP Exception occurs during wrapper creation
        java.io.IOException - if input-output exception occurs during creation
      • createSingleResp

        public ISingleResp createSingleResp​(IBasicOCSPResponse basicResp)
        Create single resp wrapper from basic OCSP Response wrapper.
        Specified by:
        createSingleResp in interface IBouncyCastleFactory
        Parameters:
        basicResp - basic OCSP Response wrapper to create single resp wrapper from
        Returns:
        created single resp wrapper
      • createX509Certificate

        public java.security.cert.X509Certificate createX509Certificate​(java.lang.Object element)
        Cast Object element to X509Certificate.
        Specified by:
        createX509Certificate in interface IBouncyCastleFactory
        Parameters:
        element - Object to be cast
        Returns:
        casted X509Certificate
      • createNullCrl

        public java.security.cert.CRL createNullCrl()
        Create null as CRL object.
        Specified by:
        createNullCrl in interface IBouncyCastleFactory
        Returns:
        null as CRL object
      • createPEMParser

        public IPEMParser createPEMParser​(java.io.Reader reader)
        Create PEM Parser wrapper from Reader.
        Specified by:
        createPEMParser in interface IBouncyCastleFactory
        Parameters:
        reader - Reader to create PEM Parser wrapper from
        Returns:
        created PEM Parser wrapper
      • createTime

        public ITime createTime​(java.util.Date date)
        Create time wrapper from Date.
        Specified by:
        createTime in interface IBouncyCastleFactory
        Parameters:
        date - Date to create time wrapper from
        Returns:
        created time wrapper
      • createEndDate

        public ITime createEndDate​(java.security.cert.X509Certificate certificate)
        Create time wrapper from the end date of the certificate.
        Specified by:
        createEndDate in interface IBouncyCastleFactory
        Parameters:
        certificate - X509Certificate to get end date to create time wrapper from
        Returns:
        created time wrapper
      • isNullExtension

        public boolean isNullExtension​(IExtension ext)
        Checks if provided extension wrapper wraps null.
        Specified by:
        isNullExtension in interface IBouncyCastleFactory
        Parameters:
        ext - extension wrapper to check
        Returns:
        true if provided extension wrapper wraps null, false otherwise
      • isNull

        public boolean isNull​(IASN1Encodable encodable)
        Check if provided encodable wrapper wrap null.
        Specified by:
        isNull in interface IBouncyCastleFactory
        Parameters:
        encodable - encodable wrapper to be checked
        Returns:
        true if provided encodable wrapper wraps null, false otherwise
      • getSecureRandom

        public java.security.SecureRandom getSecureRandom()
        Get SecureRandom implementation from the factory.
        Specified by:
        getSecureRandom in interface IBouncyCastleFactory
        Returns:
        SecureRandom implementation
      • isInApprovedOnlyMode

        public boolean isInApprovedOnlyMode()
        Check if this bouncy-castle corresponding to this factory is in approved mode.
        Specified by:
        isInApprovedOnlyMode in interface IBouncyCastleFactory
        Returns:
        true if approved mode is enabled, false otherwise
      • createCipherBytes

        public byte[] createCipherBytes​(java.security.cert.X509Certificate x509certificate,
                                        byte[] abyte0,
                                        IAlgorithmIdentifier algorithmIdentifier)
                                 throws java.security.GeneralSecurityException
        Create cipher bytes from X509Certificate, byte[] value and algorithm identifier wrapper.
        Specified by:
        createCipherBytes in interface IBouncyCastleFactory
        Parameters:
        x509certificate - X509Certificate to create cipher bytes from
        abyte0 - byte[] value to create cipher bytes from
        algorithmIdentifier - algorithm identifier wrapper to create cipher bytes from
        Returns:
        byte[] representing created cipher bytes
        Throws:
        java.security.GeneralSecurityException - if general security exception occurs during cipher bytes creation
      • isEncryptionFeatureSupported

        public void isEncryptionFeatureSupported​(int encryptionType,
                                                 boolean withCertificate)
        Checks whether an algorithm is supported for encryption by the chosen Bouncy Castle implementation, throws an exception when not supported.
        Specified by:
        isEncryptionFeatureSupported in interface IBouncyCastleFactory
        Parameters:
        encryptionType - the type of encryption. It can be one of STANDARD_ENCRYPTION_40 = 0 STANDARD_ENCRYPTION_128 = 1, ENCRYPTION_AES_128 = 2 ENCRYPTION_AES_256 = 3 in combination with (or-ed) DO_NOT_ENCRYPT_METADATA = 8 and EMBEDDED_FILES_ONLY = 24
        withCertificate - true when used with a certificate, false otherwise
      • generateHKDF

        public byte[] generateHKDF​(byte[] inputKey,
                                   byte[] salt,
                                   byte[] info)
        Generates byte array based on extract-and-expand key derivation function, using provided parameters.
        Specified by:
        generateHKDF in interface IBouncyCastleFactory
        Parameters:
        inputKey - byte[] input key material
        salt - byte[] salt
        info - byte[] info
        Returns:
        byte[] key derivation function result.
      • generateHMACSHA256Token

        public byte[] generateHMACSHA256Token​(byte[] key,
                                              byte[] data)
                                       throws java.security.NoSuchAlgorithmException,
                                              java.security.InvalidKeyException
        Generates byte array based MAC token according to HMACSHA256 algorithm.
        Specified by:
        generateHMACSHA256Token in interface IBouncyCastleFactory
        Parameters:
        key - byte[] MAC key
        data - byte[] data to be encrypted
        Returns:
        byte array based MAC token.
        Throws:
        java.security.NoSuchAlgorithmException - if there is no such algorithm.
        java.security.InvalidKeyException - if key is invalid.
      • generateEncryptedKeyWithAES256NoPad

        public byte[] generateEncryptedKeyWithAES256NoPad​(byte[] key,
                                                          byte[] kek)
                                                   throws java.security.GeneralSecurityException
        Generates encrypted key based on AES256 without padding wrapping algorithm.
        Specified by:
        generateEncryptedKeyWithAES256NoPad in interface IBouncyCastleFactory
        Parameters:
        key - key to be encrypted
        kek - key encryption key to be used
        Returns:
        encrypted key.
        Throws:
        java.security.GeneralSecurityException - in case of encryption related exceptions.
      • generateDecryptedKeyWithAES256NoPad

        public byte[] generateDecryptedKeyWithAES256NoPad​(byte[] key,
                                                          byte[] kek)
                                                   throws java.security.GeneralSecurityException
        Generates decrypted key based on AES256 without padding unwrapping algorithm.
        Specified by:
        generateDecryptedKeyWithAES256NoPad in interface IBouncyCastleFactory
        Parameters:
        key - key to be decrypted
        kek - key encryption key to be used
        Returns:
        decrypted key.
        Throws:
        java.security.GeneralSecurityException - in case of encryption related exceptions.