Package org.bouncycastle.cert.crmf
Class CertificateRequestMessage
- java.lang.Object
-
- org.bouncycastle.cert.crmf.CertificateRequestMessage
-
- All Implemented Interfaces:
org.bouncycastle.util.Encodable
- Direct Known Subclasses:
JcaCertificateRequestMessage
public class CertificateRequestMessage extends java.lang.Object implements org.bouncycastle.util.Encodable
Carrier for a CRMF CertReqMsg.
-
-
Field Summary
Fields Modifier and Type Field Description static int
popKeyAgreement
static int
popKeyEncipherment
static int
popRaVerified
static int
popSigningKey
-
Constructor Summary
Constructors Constructor Description CertificateRequestMessage(byte[] certReqMsg)
Create a CertificateRequestMessage from the passed in bytes.CertificateRequestMessage(org.bouncycastle.asn1.crmf.CertReqMsg certReqMsg)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.bouncycastle.asn1.ASN1Integer
getCertReqId()
Return the certificate request ID for this message.org.bouncycastle.asn1.crmf.CertTemplate
getCertTemplate()
Return the certificate template contained in this message.Control
getControl(org.bouncycastle.asn1.ASN1ObjectIdentifier type)
Return a control value of the specified type.byte[]
getEncoded()
Return the ASN.1 encoding of the certReqMsg we wrap.int
getProofOfPossessionType()
Return the type of the proof-of-possession this request message provides.boolean
hasControl(org.bouncycastle.asn1.ASN1ObjectIdentifier type)
Return whether or not this request has a specific type of control value.boolean
hasControls()
Return whether or not this request has control values associated with it.boolean
hasProofOfPossession()
Return whether or not this request message has a proof-of-possession field in it.boolean
hasSigningKeyProofOfPossessionWithPKMAC()
Return whether or not the proof-of-possession (POP) is of the type popSigningKey and it has a public key MAC associated with it.boolean
isValidSigningKeyPOP(org.bouncycastle.operator.ContentVerifierProvider verifierProvider)
Return whether or not a signing key proof-of-possession (POP) is valid.boolean
isValidSigningKeyPOP(org.bouncycastle.operator.ContentVerifierProvider verifierProvider, PKMACBuilder macBuilder, char[] password)
Return whether or not a signing key proof-of-possession (POP), with an associated PKMAC, is valid.org.bouncycastle.asn1.crmf.CertReqMsg
toASN1Structure()
Return the underlying ASN.1 object defining this CertificateRequestMessage object.
-
-
-
Field Detail
-
popRaVerified
public static final int popRaVerified
- See Also:
- Constant Field Values
-
popSigningKey
public static final int popSigningKey
- See Also:
- Constant Field Values
-
popKeyEncipherment
public static final int popKeyEncipherment
- See Also:
- Constant Field Values
-
popKeyAgreement
public static final int popKeyAgreement
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CertificateRequestMessage
public CertificateRequestMessage(byte[] certReqMsg) throws java.io.IOException
Create a CertificateRequestMessage from the passed in bytes.- Parameters:
certReqMsg
- BER/DER encoding of the CertReqMsg structure.- Throws:
java.io.IOException
- in the event of corrupted data, or an incorrect structure.
-
CertificateRequestMessage
public CertificateRequestMessage(org.bouncycastle.asn1.crmf.CertReqMsg certReqMsg)
-
-
Method Detail
-
toASN1Structure
public org.bouncycastle.asn1.crmf.CertReqMsg toASN1Structure()
Return the underlying ASN.1 object defining this CertificateRequestMessage object.- Returns:
- a CertReqMsg.
-
getCertReqId
public org.bouncycastle.asn1.ASN1Integer getCertReqId()
Return the certificate request ID for this message.- Returns:
- the certificate request ID.
-
getCertTemplate
public org.bouncycastle.asn1.crmf.CertTemplate getCertTemplate()
Return the certificate template contained in this message.- Returns:
- a CertTemplate structure.
-
hasControls
public boolean hasControls()
Return whether or not this request has control values associated with it.- Returns:
- true if there are control values present, false otherwise.
-
hasControl
public boolean hasControl(org.bouncycastle.asn1.ASN1ObjectIdentifier type)
Return whether or not this request has a specific type of control value.- Parameters:
type
- the type OID for the control value we are checking for.- Returns:
- true if a control value of type is present, false otherwise.
-
getControl
public Control getControl(org.bouncycastle.asn1.ASN1ObjectIdentifier type)
Return a control value of the specified type.- Parameters:
type
- the type OID for the control value we are checking for.- Returns:
- the control value if present, null otherwise.
-
hasProofOfPossession
public boolean hasProofOfPossession()
Return whether or not this request message has a proof-of-possession field in it.- Returns:
- true if proof-of-possession is present, false otherwise.
-
getProofOfPossessionType
public int getProofOfPossessionType()
Return the type of the proof-of-possession this request message provides.- Returns:
- one of: popRaVerified, popSigningKey, popKeyEncipherment, popKeyAgreement
-
hasSigningKeyProofOfPossessionWithPKMAC
public boolean hasSigningKeyProofOfPossessionWithPKMAC()
Return whether or not the proof-of-possession (POP) is of the type popSigningKey and it has a public key MAC associated with it.- Returns:
- true if POP is popSigningKey and a PKMAC is present, false otherwise.
-
isValidSigningKeyPOP
public boolean isValidSigningKeyPOP(org.bouncycastle.operator.ContentVerifierProvider verifierProvider) throws CRMFException, java.lang.IllegalStateException
Return whether or not a signing key proof-of-possession (POP) is valid.- Parameters:
verifierProvider
- a provider that can produce content verifiers for the signature contained in this POP.- Returns:
- true if the POP is valid, false otherwise.
- Throws:
CRMFException
- if there is a problem in verification or content verifier creation.java.lang.IllegalStateException
- if POP not appropriate.
-
isValidSigningKeyPOP
public boolean isValidSigningKeyPOP(org.bouncycastle.operator.ContentVerifierProvider verifierProvider, PKMACBuilder macBuilder, char[] password) throws CRMFException, java.lang.IllegalStateException
Return whether or not a signing key proof-of-possession (POP), with an associated PKMAC, is valid.- Parameters:
verifierProvider
- a provider that can produce content verifiers for the signature contained in this POP.macBuilder
- a suitable PKMACBuilder to create the MAC verifier.password
- the password used to key the MAC calculation.- Returns:
- true if the POP is valid, false otherwise.
- Throws:
CRMFException
- if there is a problem in verification or content verifier creation.java.lang.IllegalStateException
- if POP not appropriate.
-
getEncoded
public byte[] getEncoded() throws java.io.IOException
Return the ASN.1 encoding of the certReqMsg we wrap.- Specified by:
getEncoded
in interfaceorg.bouncycastle.util.Encodable
- Returns:
- a byte array containing the binary encoding of the certReqMsg.
- Throws:
java.io.IOException
- if there is an exception creating the encoding.
-
-