public class CertificateRequest
extends java.lang.Object
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;
ClientCertificateType,
X500Name| Modifier and Type | Field and Description |
|---|---|
protected java.util.Vector |
certificateAuthorities |
protected byte[] |
certificateRequestContext |
protected short[] |
certificateTypes |
protected java.util.Vector |
supportedSignatureAlgorithms |
protected java.util.Vector |
supportedSignatureAlgorithmsCert |
| Constructor and 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) |
| Modifier and Type | Method and Description |
|---|---|
void |
encode(TlsContext context,
java.io.OutputStream output)
Encode this
CertificateRequest to an OutputStream. |
java.util.Vector |
getCertificateAuthorities() |
byte[] |
getCertificateRequestContext() |
short[] |
getCertificateTypes() |
java.util.Vector |
getSupportedSignatureAlgorithms() |
java.util.Vector |
getSupportedSignatureAlgorithmsCert() |
boolean |
hasCertificateRequestContext(byte[] certificateRequestContext) |
static CertificateRequest |
parse(TlsContext context,
java.io.InputStream input)
Parse a
CertificateRequest from an InputStream. |
protected final byte[] certificateRequestContext
protected final short[] certificateTypes
protected final java.util.Vector supportedSignatureAlgorithms
protected final java.util.Vector supportedSignatureAlgorithmsCert
protected final java.util.Vector certificateAuthorities
public CertificateRequest(short[] certificateTypes,
java.util.Vector supportedSignatureAlgorithms,
java.util.Vector certificateAuthorities)
certificateTypes - see ClientCertificateType for valid constants.certificateAuthorities - a Vector of X500Name.public CertificateRequest(byte[] certificateRequestContext,
java.util.Vector supportedSignatureAlgorithms,
java.util.Vector supportedSignatureAlgorithmsCert,
java.util.Vector certificateAuthorities)
throws java.io.IOException
java.io.IOExceptionpublic byte[] getCertificateRequestContext()
public short[] getCertificateTypes()
ClientCertificateTypepublic java.util.Vector getSupportedSignatureAlgorithms()
Vector of SignatureAndHashAlgorithm (or null before TLS 1.2).public java.util.Vector getSupportedSignatureAlgorithmsCert()
Vector of SignatureAndHashAlgorithm. May be non-null from
TLS 1.3 onwards.public java.util.Vector getCertificateAuthorities()
Vector of X500Namepublic boolean hasCertificateRequestContext(byte[] certificateRequestContext)
public void encode(TlsContext context, java.io.OutputStream output) throws java.io.IOException
CertificateRequest to an OutputStream.context - the TlsContext of the current connection.output - the OutputStream to encode to.java.io.IOExceptionpublic static CertificateRequest parse(TlsContext context, java.io.InputStream input) throws java.io.IOException
CertificateRequest from an InputStream.context - the TlsContext of the current connection.input - the InputStream to parse from.CertificateRequest object.java.io.IOException