Package org.bouncycastle.tls
Class CertificateRequest
- java.lang.Object
-
- org.bouncycastle.tls.CertificateRequest
-
public class CertificateRequest extends java.lang.Object
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:
ClientCertificateType
,X500Name
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Vector
certificateAuthorities
protected byte[]
certificateRequestContext
protected short[]
certificateTypes
protected java.util.Vector
supportedSignatureAlgorithms
protected java.util.Vector
supportedSignatureAlgorithmsCert
-
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 void
encode(TlsContext context, java.io.OutputStream output)
Encode thisCertificateRequest
to anOutputStream
.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 aCertificateRequest
from 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
- seeClientCertificateType
for valid constants.certificateAuthorities
- aVector
ofX500Name
.
-
CertificateRequest
public CertificateRequest(byte[] certificateRequestContext, java.util.Vector supportedSignatureAlgorithms, java.util.Vector supportedSignatureAlgorithmsCert, java.util.Vector certificateAuthorities)
-
-
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
Vector
ofSignatureAndHashAlgorithm
(or null before TLS 1.2).
-
getSupportedSignatureAlgorithmsCert
public java.util.Vector getSupportedSignatureAlgorithmsCert()
- Returns:
- an optional
Vector
ofSignatureAndHashAlgorithm
. May be non-null from TLS 1.3 onwards.
-
getCertificateAuthorities
public java.util.Vector getCertificateAuthorities()
- Returns:
- a
Vector
ofX500Name
-
hasCertificateRequestContext
public boolean hasCertificateRequestContext(byte[] certificateRequestContext)
-
encode
public void encode(TlsContext context, java.io.OutputStream output) throws java.io.IOException
Encode thisCertificateRequest
to anOutputStream
.- Parameters:
output
- theOutputStream
to encode to.- Throws:
java.io.IOException
-
parse
public static CertificateRequest parse(TlsContext context, java.io.InputStream input) throws java.io.IOException
Parse aCertificateRequest
from anInputStream
.- Parameters:
context
- theTlsContext
of the current connection.input
- theInputStream
to parse from.- Returns:
- a
CertificateRequest
object. - Throws:
java.io.IOException
-
-