Class BcTlsRawKeyCertificate

  • All Implemented Interfaces:
    TlsCertificate
    Direct Known Subclasses:
    BcTlsCertificate

    public class BcTlsRawKeyCertificate
    extends java.lang.Object
    implements TlsCertificate
    Implementation class for a single X.509 certificate based on the BC light-weight API.
    • Field Detail

      • keyInfo

        protected final org.bouncycastle.asn1.x509.SubjectPublicKeyInfo keyInfo
      • pubKeyDH

        protected org.bouncycastle.crypto.params.DHPublicKeyParameters pubKeyDH
      • pubKeyEC

        protected org.bouncycastle.crypto.params.ECPublicKeyParameters pubKeyEC
      • pubKeyEd25519

        protected org.bouncycastle.crypto.params.Ed25519PublicKeyParameters pubKeyEd25519
      • pubKeyEd448

        protected org.bouncycastle.crypto.params.Ed448PublicKeyParameters pubKeyEd448
      • pubKeyRSA

        protected org.bouncycastle.crypto.params.RSAKeyParameters pubKeyRSA
    • Constructor Detail

      • BcTlsRawKeyCertificate

        public BcTlsRawKeyCertificate​(BcTlsCrypto crypto,
                                      byte[] keyInfo)
      • BcTlsRawKeyCertificate

        public BcTlsRawKeyCertificate​(BcTlsCrypto crypto,
                                      org.bouncycastle.asn1.x509.SubjectPublicKeyInfo keyInfo)
    • Method Detail

      • getSubjectPublicKeyInfo

        public org.bouncycastle.asn1.x509.SubjectPublicKeyInfo getSubjectPublicKeyInfo()
      • createEncryptor

        public TlsEncryptor createEncryptor​(int tlsCertificateRole)
                                     throws java.io.IOException
        Description copied from interface: TlsCertificate
        Return an encryptor based on the public key in this certificate.
        Specified by:
        createEncryptor in interface TlsCertificate
        Parameters:
        tlsCertificateRole - TlsCertificateRole
        Returns:
        a TlsEncryptor based on this certificate's public key.
        Throws:
        java.io.IOException
      • getEncoded

        public byte[] getEncoded()
                          throws java.io.IOException
        Specified by:
        getEncoded in interface TlsCertificate
        Throws:
        java.io.IOException
      • getExtension

        public byte[] getExtension​(org.bouncycastle.asn1.ASN1ObjectIdentifier extensionOID)
                            throws java.io.IOException
        Specified by:
        getExtension in interface TlsCertificate
        Throws:
        java.io.IOException
      • getSigAlgOID

        public java.lang.String getSigAlgOID()
        Specified by:
        getSigAlgOID in interface TlsCertificate
        Returns:
        the OID of this certificate's 'signatureAlgorithm', as a String.
      • getPubKeyDH

        public org.bouncycastle.crypto.params.DHPublicKeyParameters getPubKeyDH()
                                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • getPubKeyDSS

        public org.bouncycastle.crypto.params.DSAPublicKeyParameters getPubKeyDSS()
                                                                           throws java.io.IOException
        Throws:
        java.io.IOException
      • getPubKeyEC

        public org.bouncycastle.crypto.params.ECPublicKeyParameters getPubKeyEC()
                                                                         throws java.io.IOException
        Throws:
        java.io.IOException
      • getPubKeyEd25519

        public org.bouncycastle.crypto.params.Ed25519PublicKeyParameters getPubKeyEd25519()
                                                                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • getPubKeyEd448

        public org.bouncycastle.crypto.params.Ed448PublicKeyParameters getPubKeyEd448()
                                                                               throws java.io.IOException
        Throws:
        java.io.IOException
      • getPubKeyRSA

        public org.bouncycastle.crypto.params.RSAKeyParameters getPubKeyRSA()
                                                                     throws java.io.IOException
        Throws:
        java.io.IOException
      • supportsSignatureAlgorithm

        public boolean supportsSignatureAlgorithm​(short signatureAlgorithm)
                                           throws java.io.IOException
        Specified by:
        supportsSignatureAlgorithm in interface TlsCertificate
        Parameters:
        signatureAlgorithm - SignatureAlgorithm
        Returns:
        true if (and only if) this certificate can be used to verify the given signature algorithm.
        Throws:
        java.io.IOException
      • supportsSignatureAlgorithmCA

        public boolean supportsSignatureAlgorithmCA​(short signatureAlgorithm)
                                             throws java.io.IOException
        Specified by:
        supportsSignatureAlgorithmCA in interface TlsCertificate
        Throws:
        java.io.IOException
      • getPublicKey

        protected org.bouncycastle.crypto.params.AsymmetricKeyParameter getPublicKey()
                                                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • supportsKeyUsage

        protected boolean supportsKeyUsage​(int keyUsageBit)
      • supportsRSA_PKCS1

        protected boolean supportsRSA_PKCS1()
      • supportsRSA_PSS_PSS

        protected boolean supportsRSA_PSS_PSS​(short signatureAlgorithm)
      • supportsRSA_PSS_RSAE

        protected boolean supportsRSA_PSS_RSAE()
      • supportsSignatureAlgorithm

        protected boolean supportsSignatureAlgorithm​(short signatureAlgorithm,
                                                     int keyUsage)
                                              throws java.io.IOException
        Throws:
        java.io.IOException
      • validateKeyUsage

        public void validateKeyUsage​(int keyUsageBit)
                              throws java.io.IOException
        Throws:
        java.io.IOException
      • validateRSA_PKCS1

        protected void validateRSA_PKCS1()
                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • validateRSA_PSS_PSS

        protected void validateRSA_PSS_PSS​(short signatureAlgorithm)
                                    throws java.io.IOException
        Throws:
        java.io.IOException
      • validateRSA_PSS_RSAE

        protected void validateRSA_PSS_RSAE()
                                     throws java.io.IOException
        Throws:
        java.io.IOException