Package org.wildfly.security.x500.cert
Class PKCS10CertificateSigningRequest.Builder
- java.lang.Object
 - 
- org.wildfly.security.x500.cert.PKCS10CertificateSigningRequest.Builder
 
 
- 
- Enclosing class:
 - PKCS10CertificateSigningRequest
 
public static class PKCS10CertificateSigningRequest.Builder extends Object
ABuilderto configure and generate aPKCS10CertificateSigningRequest. 
- 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PKCS10CertificateSigningRequest.BuilderaddExtension(boolean critical, String extensionName, String extensionValue)Add an X.509 certificate extension that should be included in the certificate signing request using the given extension name and string value.PKCS10CertificateSigningRequest.BuilderaddExtension(X509CertificateExtension extension)Add an X.509 certificate extension that should be included in the certificate signing request.PKCS10CertificateSigningRequestbuild()Attempt to generate a PKCS #10 certificate signing request.PKCS10CertificateSigningRequest.BuildersetCertificate(Certificate certificate)Set the certificate.PKCS10CertificateSigningRequest.BuildersetSignatureAlgorithmName(String signatureAlgorithmName)Set the signature algorithm name.PKCS10CertificateSigningRequest.BuildersetSigningKey(PrivateKey signingKey)Set the signing key.PKCS10CertificateSigningRequest.BuildersetSubjectDn(X500Principal subjectDn)Set the subject DN. 
 - 
 
- 
- 
Method Detail
- 
setCertificate
public PKCS10CertificateSigningRequest.Builder setCertificate(Certificate certificate)
Set the certificate.- Parameters:
 certificate- the certificate (must not benull)- Returns:
 - this builder instance
 
 
- 
setSigningKey
public PKCS10CertificateSigningRequest.Builder setSigningKey(PrivateKey signingKey)
Set the signing key.- Parameters:
 signingKey- the signing key (must not benull)- Returns:
 - this builder instance
 
 
- 
setSubjectDn
public PKCS10CertificateSigningRequest.Builder setSubjectDn(X500Principal subjectDn)
Set the subject DN.- Parameters:
 subjectDn- the subject DN (must not benull)- Returns:
 - this builder instance
 
 
- 
setSignatureAlgorithmName
public PKCS10CertificateSigningRequest.Builder setSignatureAlgorithmName(String signatureAlgorithmName)
Set the signature algorithm name.- Parameters:
 signatureAlgorithmName- the signature algorithm name (must not benull)- Returns:
 - this builder instance
 
 
- 
addExtension
public PKCS10CertificateSigningRequest.Builder addExtension(X509CertificateExtension extension) throws IllegalArgumentException
Add an X.509 certificate extension that should be included in the certificate signing request. If an extension with the same OID already exists, an exception is thrown.- Parameters:
 extension- the extension to add (must not benull)- Returns:
 - this builder instance
 - Throws:
 IllegalArgumentException- if an extension with the same OID has already been added
 
- 
addExtension
public PKCS10CertificateSigningRequest.Builder addExtension(boolean critical, String extensionName, String extensionValue) throws IllegalArgumentException
Add an X.509 certificate extension that should be included in the certificate signing request using the given extension name and string value. If an extension with the same name already exists, an exception is thrown. The following extension names and values are supported:-  
name: BasicConstraints
value: ca:{true|false}[,pathlen:<len>]wherecaindicates whether or not the subject is a CA. Ifcais true,pathlenindicates the path length constraint. -  
name: KeyUsage
value: usage(,usage)*wherevalueis a list of the allowed key usages, where eachusagevalue must be one of the following (usagevalues are case-sensitive):digitalSignaturenonRepudiationkeyEnciphermentdataEnciphermentkeyAgreementkeyCertSigncRLSignencipherOnlydecipherOnly
 -  
name: ExtendedKeyUsage
value: usage(,usage)*wherevalueis a list of the allowed key purposes, where eachusagevalue must be one of the following (usagevalues are case-sensitive):serverAuthclientAuthcodeSigningemailProtectiontimeStampingOCSPSigning- any OID string
 
 -  
name SubjectAlternativeName
value: type:val(,type:val)*wherevalueis a list oftype:valpairs, wheretypecan beEMAIL,URI,DNS,IP, orOIDandvalis a string value for thetype. -  
name: IssuerAlternativeName
value: type:val(,type:val)*wherevalueis a list oftype:valpairs, wheretypecan beEMAIL,URI,DNS,IP, orOIDandvalis a string value for thetype. -  
name: AuthorityInformationAccess
value: method:location-type:location-value(,method:location-type:location-value)*wherevalueis a list ofmethod:location-type:location-valuetriples, wheremethodcan beocsp,caIssuers, or any OID andlocation-type:location-valuecan be anytype:valpair as defined for theSubjectAlternativeNameextension. -  
name: SubjectInformationAccess
value: method:location-type:location-value(,method:location-type:location-value)*wherevalueis a list ofmethod:location-type:location-valuetriples, wheremethodcan betimeStamping,caRepository, or any OID andlocation-type:location-valuecan be anytype:valpair as defined for theSubjectAlternativeNameextension. 
- Parameters:
 critical- whether the extension should be marked as criticalextensionName- the extension name (must not benull)extensionValue- the extension value, as a string (must not benull)- Returns:
 - this builder instance
 - Throws:
 IllegalArgumentException- if an extension with the same name has already been added or if an error occurs while attempting to add the extension
 -  
 
- 
build
public PKCS10CertificateSigningRequest build() throws IllegalArgumentException
Attempt to generate a PKCS #10 certificate signing request.- Returns:
 - the PKCS #10 certificate signing request
 - Throws:
 IllegalArgumentException- if a required builder parameter is missing or invalid
 
 - 
 
 -