Package org.bouncycastle.tls
Class CertificateRequest
- java.lang.Object
-
- org.bouncycastle.tls.CertificateRequest
-
public class CertificateRequest extends java.lang.ObjectParsing and encoding of a CertificateRequest struct from RFC 4346:struct { ClientCertificateType certificate_types<1..2^8-1>; DistinguishedName certificate_authorities<3..2^16-1>; } CertificateRequest;Updated for RFC 5246:struct { ClientCertificateType certificate_types<1..2^8-1>; SignatureAndHashAlgorithm supported_signature_algorithms<2^16-1>; DistinguishedName certificate_authorities<0..2^16-1>; } CertificateRequest;Revised for RFC 8446:struct { opaque certificate_request_context<0..2^8-1>; Extension extensions<2..2^16-1>; } CertificateRequest;- See Also:
ClientCertificateType,X500Name
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.VectorcertificateAuthoritiesprotected byte[]certificateRequestContextprotected short[]certificateTypesprotected java.util.VectorsupportedSignatureAlgorithmsprotected java.util.VectorsupportedSignatureAlgorithmsCert
-
Constructor Summary
Constructors Constructor Description CertificateRequest(byte[] certificateRequestContext, java.util.Vector supportedSignatureAlgorithms, java.util.Vector supportedSignatureAlgorithmsCert, java.util.Vector certificateAuthorities)CertificateRequest(short[] certificateTypes, java.util.Vector supportedSignatureAlgorithms, java.util.Vector certificateAuthorities)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidencode(TlsContext context, java.io.OutputStream output)Encode thisCertificateRequestto anOutputStream.java.util.VectorgetCertificateAuthorities()byte[]getCertificateRequestContext()short[]getCertificateTypes()java.util.VectorgetSupportedSignatureAlgorithms()java.util.VectorgetSupportedSignatureAlgorithmsCert()booleanhasCertificateRequestContext(byte[] certificateRequestContext)static CertificateRequestparse(TlsContext context, java.io.InputStream input)Parse aCertificateRequestfrom anInputStream.
-
-
-
Field Detail
-
certificateRequestContext
protected final byte[] certificateRequestContext
-
certificateTypes
protected final short[] certificateTypes
-
supportedSignatureAlgorithms
protected final java.util.Vector supportedSignatureAlgorithms
-
supportedSignatureAlgorithmsCert
protected final java.util.Vector supportedSignatureAlgorithmsCert
-
certificateAuthorities
protected final java.util.Vector certificateAuthorities
-
-
Constructor Detail
-
CertificateRequest
public CertificateRequest(short[] certificateTypes, java.util.Vector supportedSignatureAlgorithms, java.util.Vector certificateAuthorities)- Parameters:
certificateTypes- seeClientCertificateTypefor valid constants.certificateAuthorities- aVectorofX500Name.
-
CertificateRequest
public CertificateRequest(byte[] certificateRequestContext, java.util.Vector supportedSignatureAlgorithms, java.util.Vector supportedSignatureAlgorithmsCert, java.util.Vector certificateAuthorities) throws java.io.IOException- Throws:
java.io.IOException
-
-
Method Detail
-
getCertificateRequestContext
public byte[] getCertificateRequestContext()
-
getCertificateTypes
public short[] getCertificateTypes()
- Returns:
- an array of certificate types
- See Also:
ClientCertificateType
-
getSupportedSignatureAlgorithms
public java.util.Vector getSupportedSignatureAlgorithms()
- Returns:
- a
VectorofSignatureAndHashAlgorithm(or null before TLS 1.2).
-
getSupportedSignatureAlgorithmsCert
public java.util.Vector getSupportedSignatureAlgorithmsCert()
- Returns:
- an optional
VectorofSignatureAndHashAlgorithm. May be non-null from TLS 1.3 onwards.
-
getCertificateAuthorities
public java.util.Vector getCertificateAuthorities()
- Returns:
- a
VectorofX500Name
-
hasCertificateRequestContext
public boolean hasCertificateRequestContext(byte[] certificateRequestContext)
-
encode
public void encode(TlsContext context, java.io.OutputStream output) throws java.io.IOException
Encode thisCertificateRequestto anOutputStream.- Parameters:
context- theTlsContextof the current connection.output- theOutputStreamto encode to.- Throws:
java.io.IOException
-
parse
public static CertificateRequest parse(TlsContext context, java.io.InputStream input) throws java.io.IOException
Parse aCertificateRequestfrom anInputStream.- Parameters:
context- theTlsContextof the current connection.input- theInputStreamto parse from.- Returns:
- a
CertificateRequestobject. - Throws:
java.io.IOException
-
-