1
package org.bouncycastle.cert.crmf.jcajce;
3
import java.security.Provider;
4
import java.security.PublicKey;
6
import org.bouncycastle.asn1.crmf.CertReqMsg;
7
import org.bouncycastle.asn1.x500.X500Name;
8
import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo;
9
import org.bouncycastle.cert.crmf.CRMFException;
10
import org.bouncycastle.cert.crmf.CertificateRequestMessage;
11
import org.bouncycastle.jcajce.DefaultJcaJceHelper;
12
import org.bouncycastle.jcajce.NamedJcaJceHelper;
13
import org.bouncycastle.jcajce.ProviderJcaJceHelper;
15
public class JcaCertificateRequestMessage
16
extends CertificateRequestMessage
18
private CRMFHelper helper = new CRMFHelper(new DefaultJcaJceHelper());
20
public JcaCertificateRequestMessage(CertificateRequestMessage certReqMsg)
22
this(certReqMsg.toASN1Structure());
25
public JcaCertificateRequestMessage(CertReqMsg certReqMsg)
30
public JcaCertificateRequestMessage setProvider(String providerName)
32
this.helper = new CRMFHelper(new NamedJcaJceHelper(providerName));
37
public JcaCertificateRequestMessage setProvider(Provider provider)
39
this.helper = new CRMFHelper(new ProviderJcaJceHelper(provider));
44
public PublicKey getPublicKey()
47
SubjectPublicKeyInfo subjectPublicKeyInfo = getCertTemplate().getPublicKey();
49
if (subjectPublicKeyInfo != null)
51
return helper.toPublicKey(subjectPublicKeyInfo);