Package org.bouncycastle.tls
Class CertificateRequest
java.lang.Object
org.bouncycastle.tls.CertificateRequest
Parsing 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:
-
ClientCertificateTypeX500Name
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCertificateRequest(byte[] certificateRequestContext, Vector supportedSignatureAlgorithms, Vector supportedSignatureAlgorithmsCert, Vector certificateAuthorities) CertificateRequest(short[] certificateTypes, Vector supportedSignatureAlgorithms, Vector certificateAuthorities) -
Method Summary
Modifier and TypeMethodDescriptionvoidencode(TlsContext context, OutputStream output) Encode thisCertificateRequestto anOutputStream.byte[]short[]booleanhasCertificateRequestContext(byte[] certificateRequestContext) static CertificateRequestparse(TlsContext context, InputStream input) Parse aCertificateRequestfrom anInputStream.
-
Field Details
-
certificateRequestContext
protected final byte[] certificateRequestContext -
certificateTypes
protected final short[] certificateTypes -
supportedSignatureAlgorithms
-
supportedSignatureAlgorithmsCert
-
certificateAuthorities
-
-
Constructor Details
-
CertificateRequest
public CertificateRequest(short[] certificateTypes, Vector supportedSignatureAlgorithms, Vector certificateAuthorities) - Parameters:
certificateTypes- seeClientCertificateTypefor valid constants.certificateAuthorities- aVectorofX500Name.
-
CertificateRequest
public CertificateRequest(byte[] certificateRequestContext, Vector supportedSignatureAlgorithms, Vector supportedSignatureAlgorithmsCert, Vector certificateAuthorities) throws IOException - Throws:
IOException
-
-
Method Details
-
getCertificateRequestContext
public byte[] getCertificateRequestContext() -
getCertificateTypes
public short[] getCertificateTypes()- Returns:
- an array of certificate types
- See Also:
-
getSupportedSignatureAlgorithms
- Returns:
- a
VectorofSignatureAndHashAlgorithm(or null before TLS 1.2).
-
getSupportedSignatureAlgorithmsCert
- Returns:
- an optional
VectorofSignatureAndHashAlgorithm. May be non-null from TLS 1.3 onwards.
-
getCertificateAuthorities
- Returns:
- a
VectorofX500Name
-
hasCertificateRequestContext
public boolean hasCertificateRequestContext(byte[] certificateRequestContext) -
encode
Encode thisCertificateRequestto anOutputStream.- Parameters:
context- theTlsContextof the current connection.output- theOutputStreamto encode to.- Throws:
IOException
-
parse
Parse aCertificateRequestfrom anInputStream.- Parameters:
context- theTlsContextof the current connection.input- theInputStreamto parse from.- Returns:
- a
CertificateRequestobject. - Throws:
IOException
-