io.gatling.recorder.internal.bouncycastle.its.bc.BcITSExplicitCertificateBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gatling-recorder-bc-shaded Show documentation
Show all versions of gatling-recorder-bc-shaded Show documentation
Shaded BouncyCastle for Gatling Recorder
package io.gatling.recorder.internal.bouncycastle.its.bc;
import io.gatling.recorder.internal.bouncycastle.crypto.params.ECPublicKeyParameters;
import io.gatling.recorder.internal.bouncycastle.its.ITSCertificate;
import io.gatling.recorder.internal.bouncycastle.its.ITSExplicitCertificateBuilder;
import io.gatling.recorder.internal.bouncycastle.its.ITSPublicEncryptionKey;
import io.gatling.recorder.internal.bouncycastle.its.operator.ITSContentSigner;
import io.gatling.recorder.internal.bouncycastle.oer.its.ieee1609dot2.CertificateId;
import io.gatling.recorder.internal.bouncycastle.oer.its.ieee1609dot2.ToBeSignedCertificate;
public class BcITSExplicitCertificateBuilder
extends ITSExplicitCertificateBuilder
{
/**
* Base constructor for an ITS certificate.
*
* @param signer the content signer to be used to generate the signature validating the certificate.
* @param tbsCertificate
*/
public BcITSExplicitCertificateBuilder(ITSContentSigner signer, ToBeSignedCertificate.Builder tbsCertificate)
{
super(signer, tbsCertificate);
}
public ITSCertificate build(
CertificateId certificateId,
ECPublicKeyParameters verificationKey)
{
return build(certificateId, verificationKey, null);
}
public ITSCertificate build(
CertificateId certificateId,
ECPublicKeyParameters verificationKey,
ECPublicKeyParameters encryptionKey)
{
ITSPublicEncryptionKey publicEncryptionKey = null;
if (encryptionKey != null)
{
publicEncryptionKey = new BcITSPublicEncryptionKey(encryptionKey);
}
return super.build(certificateId, new BcITSPublicVerificationKey(verificationKey), publicEncryptionKey);
}
}