org.bouncycastle.jce

## Class PKCS10CertificationRequest

- java.lang.Object
- - org.bouncycastle.asn1.ASN1Encodable
  - - org.bouncycastle.asn1.pkcs.CertificationRequest
    - - org.bouncycastle.jce.PKCS10CertificationRequest

All Implemented Interfaces:
  DEREncodable

    public class PKCS10CertificationRequest
    extends CertificationRequest

A class for verifying and creating PKCS10 Certification requests.

     CertificationRequest ::= SEQUENCE {
       certificationRequestInfo  CertificationRequestInfo,
       signatureAlgorithm        AlgorithmIdentifier{{ SignatureAlgorithms }},
       signature                 BIT STRING
     }

     CertificationRequestInfo ::= SEQUENCE {
       version             INTEGER { v1(0) } (v1,...),
       subject             Name,
       subjectPKInfo   SubjectPublicKeyInfo{{ PKInfoAlgorithms }},
       attributes          [0] Attributes{{ CRIAttributes }}
      }

      Attributes { ATTRIBUTE:IOSet } ::= SET OF Attribute{{ IOSet }}

      Attribute { ATTRIBUTE:IOSet } ::= SEQUENCE {
        type    ATTRIBUTE.&id({IOSet}),
        values  SET SIZE(1..MAX) OF ATTRIBUTE.&Type({IOSet}{\@type})
      }

### Field Summary

### Fields inherited from class org.bouncycastle.asn1.pkcs.CertificationRequest

`reqInfo, sigAlgId, sigBits`

### Fields inherited from class org.bouncycastle.asn1.ASN1Encodable

`BER, DER`

### Constructor Summary

Constructors
Constructor and Description
`PKCS10CertificationRequest(ASN1Sequence sequence)`
`PKCS10CertificationRequest(byte[] bytes)` construct a PKCS10 certification request from a DER encoded byte stream.
`PKCS10CertificationRequest(java.lang.String signatureAlgorithm, javax.security.auth.x500.X500Principal subject, java.security.PublicKey key, ASN1Set attributes, java.security.PrivateKey signingKey)` create a PKCS10 certfication request using the BC provider.
`PKCS10CertificationRequest(java.lang.String signatureAlgorithm, javax.security.auth.x500.X500Principal subject, java.security.PublicKey key, ASN1Set attributes, java.security.PrivateKey signingKey, java.lang.String provider)` create a PKCS10 certfication request using the named provider.
`PKCS10CertificationRequest(java.lang.String signatureAlgorithm, X509Name subject, java.security.PublicKey key, ASN1Set attributes, java.security.PrivateKey signingKey)` create a PKCS10 certfication request using the BC provider.
`PKCS10CertificationRequest(java.lang.String signatureAlgorithm, X509Name subject, java.security.PublicKey key, ASN1Set attributes, java.security.PrivateKey signingKey, java.lang.String provider)` create a PKCS10 certfication request using the named provider.

### Method Summary

Methods
`byte[]` `getEncoded()` return a DER encoded byte array representing this object
`java.security.PublicKey` `getPublicKey()` return the public key associated with the certification request - the public key is created using the BC provider.
`java.security.PublicKey` `getPublicKey(java.lang.String provider)`
`boolean` `verify()` verify the request using the BC provider.
`boolean` `verify(java.security.PublicKey pubKey, java.lang.String provider)` verify the request using the passed in public key and the provider..
`boolean` `verify(java.lang.String provider)` verify the request using the passed in provider.

### Methods inherited from class org.bouncycastle.asn1.pkcs.CertificationRequest

`getCertificationRequestInfo, getInstance, getSignature, getSignatureAlgorithm, toASN1Object`

### Methods inherited from class org.bouncycastle.asn1.ASN1Encodable

`equals, getDEREncoded, getDERObject, getEncoded, hashCode`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### PKCS10CertificationRequest

    public PKCS10CertificationRequest(byte[] bytes)

construct a PKCS10 certification request from a DER encoded byte stream.

#### PKCS10CertificationRequest

    public PKCS10CertificationRequest(ASN1Sequence sequence)

#### PKCS10CertificationRequest

    public PKCS10CertificationRequest(java.lang.String signatureAlgorithm,
                              X509Name subject,
                              java.security.PublicKey key,
                              ASN1Set attributes,
                              java.security.PrivateKey signingKey)
                               throws java.security.NoSuchAlgorithmException,
                                      java.security.NoSuchProviderException,
                                      java.security.InvalidKeyException,
                                      java.security.SignatureException

create a PKCS10 certfication request using the BC provider.

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`
  `java.security.SignatureException`

#### PKCS10CertificationRequest

    public PKCS10CertificationRequest(java.lang.String signatureAlgorithm,
                              javax.security.auth.x500.X500Principal subject,
                              java.security.PublicKey key,
                              ASN1Set attributes,
                              java.security.PrivateKey signingKey)
                               throws java.security.NoSuchAlgorithmException,
                                      java.security.NoSuchProviderException,
                                      java.security.InvalidKeyException,
                                      java.security.SignatureException

create a PKCS10 certfication request using the BC provider.

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`
  `java.security.SignatureException`

#### PKCS10CertificationRequest

    public PKCS10CertificationRequest(java.lang.String signatureAlgorithm,
                              javax.security.auth.x500.X500Principal subject,
                              java.security.PublicKey key,
                              ASN1Set attributes,
                              java.security.PrivateKey signingKey,
                              java.lang.String provider)
                               throws java.security.NoSuchAlgorithmException,
                                      java.security.NoSuchProviderException,
                                      java.security.InvalidKeyException,
                                      java.security.SignatureException

create a PKCS10 certfication request using the named provider.

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`
  `java.security.SignatureException`

#### PKCS10CertificationRequest

    public PKCS10CertificationRequest(java.lang.String signatureAlgorithm,
                              X509Name subject,
                              java.security.PublicKey key,
                              ASN1Set attributes,
                              java.security.PrivateKey signingKey,
                              java.lang.String provider)
                               throws java.security.NoSuchAlgorithmException,
                                      java.security.NoSuchProviderException,
                                      java.security.InvalidKeyException,
                                      java.security.SignatureException

create a PKCS10 certfication request using the named provider.

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`
  `java.security.SignatureException`

### Method Detail

#### getPublicKey

    public java.security.PublicKey getPublicKey()
                                         throws java.security.NoSuchAlgorithmException,
                                                java.security.NoSuchProviderException,
                                                java.security.InvalidKeyException

return the public key associated with the certification request - the public key is created using the BC provider.

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`

#### getPublicKey

    public java.security.PublicKey getPublicKey(java.lang.String provider)
                                         throws java.security.NoSuchAlgorithmException,
                                                java.security.NoSuchProviderException,
                                                java.security.InvalidKeyException

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`

#### verify

    public boolean verify()
                   throws java.security.NoSuchAlgorithmException,
                          java.security.NoSuchProviderException,
                          java.security.InvalidKeyException,
                          java.security.SignatureException

verify the request using the BC provider.

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`
  `java.security.SignatureException`

#### verify

    public boolean verify(java.lang.String provider)
                   throws java.security.NoSuchAlgorithmException,
                          java.security.NoSuchProviderException,
                          java.security.InvalidKeyException,
                          java.security.SignatureException

verify the request using the passed in provider.

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`
  `java.security.SignatureException`

#### verify

    public boolean verify(java.security.PublicKey pubKey,
                 java.lang.String provider)
                   throws java.security.NoSuchAlgorithmException,
                          java.security.NoSuchProviderException,
                          java.security.InvalidKeyException,
                          java.security.SignatureException

verify the request using the passed in public key and the provider..

Throws:
  `java.security.NoSuchAlgorithmException`
  `java.security.NoSuchProviderException`
  `java.security.InvalidKeyException`
  `java.security.SignatureException`

#### getEncoded

    public byte[] getEncoded()

return a DER encoded byte array representing this object

Overrides:
  `getEncoded` in class `ASN1Encodable`
Returns:
  BER/DER byte encoded object.