Class PKCS12SafeBagBuilder

java.lang.Object
org.bouncycastle.pkcs.PKCS12SafeBagBuilder
Direct Known Subclasses:
JcaPKCS12SafeBagBuilder

public class PKCS12SafeBagBuilder extends Object
Builder for a PKCS12SafeBag. Each constructor selects the bag type (shrouded key, key, cert, CRL or secret); bag attributes such as friendlyName or localKeyId are layered on with addBagAttribute(ASN1ObjectIdentifier, ASN1Encodable) before build().
  • Constructor Details

    • PKCS12SafeBagBuilder

      public PKCS12SafeBagBuilder(org.bouncycastle.asn1.pkcs.PrivateKeyInfo privateKeyInfo, OutputEncryptor encryptor)
      Build a pkcs8ShroudedKeyBag by encrypting the supplied private key.
      Parameters:
      privateKeyInfo - the private key to wrap.
      encryptor - the password-based output encryptor used to protect the key.
    • PKCS12SafeBagBuilder

      public PKCS12SafeBagBuilder(org.bouncycastle.asn1.pkcs.PrivateKeyInfo privateKeyInfo)
      Build a keyBag carrying the supplied private key unencrypted.
      Parameters:
      privateKeyInfo - the private key payload.
    • PKCS12SafeBagBuilder

      public PKCS12SafeBagBuilder(X509CertificateHolder certificate) throws IOException
      Build a certBag holding an X.509 certificate.
      Parameters:
      certificate - the certificate to wrap.
      Throws:
      IOException - if the certificate cannot be encoded.
    • PKCS12SafeBagBuilder

      public PKCS12SafeBagBuilder(X509CRLHolder crl) throws IOException
      Build a crlBag holding an X.509 CRL.
      Parameters:
      crl - the CRL to wrap.
      Throws:
      IOException - if the CRL cannot be encoded.
    • PKCS12SafeBagBuilder

      public PKCS12SafeBagBuilder(org.bouncycastle.asn1.x509.Certificate certificate) throws IOException
      Build a certBag holding an X.509 certificate (low-level ASN.1 form).
      Parameters:
      certificate - the certificate to wrap.
      Throws:
      IOException - if the certificate cannot be encoded.
    • PKCS12SafeBagBuilder

      public PKCS12SafeBagBuilder(org.bouncycastle.asn1.x509.CertificateList crl) throws IOException
      Build a crlBag holding an X.509 CRL (low-level ASN.1 form).
      Parameters:
      crl - the CRL to wrap.
      Throws:
      IOException - if the CRL cannot be encoded.
    • PKCS12SafeBagBuilder

      public PKCS12SafeBagBuilder(PKCS12SecretBag secretBag)
      Build a secretBag carrying an arbitrary secret value.
      Parameters:
      secretBag - the secret bag payload to wrap.
  • Method Details

    • addBagAttribute

      public PKCS12SafeBagBuilder addBagAttribute(org.bouncycastle.asn1.ASN1ObjectIdentifier attrType, org.bouncycastle.asn1.ASN1Encodable attrValue)
      Add a bag attribute (e.g. friendlyName or localKeyId) to the bag being built.
      Parameters:
      attrType - the attribute OID.
      attrValue - the attribute value.
      Returns:
      this builder.
    • build

      public PKCS12SafeBag build()
      Assemble the SafeBag and return it.
      Returns:
      the resulting PKCS12SafeBag.