public class SignerInfoGenerator
extends java.lang.Object
| Constructor and Description |
|---|
SignerInfoGenerator(SignerInfoGenerator original,
CMSAttributeTableGenerator sAttrGen,
CMSAttributeTableGenerator unsAttrGen) |
| Modifier and Type | Method and Description |
|---|---|
org.bouncycastle.asn1.cms.SignerInfo |
generate(org.bouncycastle.asn1.ASN1ObjectIdentifier contentType) |
X509CertificateHolder |
getAssociatedCertificate() |
byte[] |
getCalculatedDigest() |
java.io.OutputStream |
getCalculatingOutputStream() |
org.bouncycastle.asn1.x509.AlgorithmIdentifier |
getDigestAlgorithm() |
int |
getGeneratedVersion() |
long |
getPredictedEncodedLength(org.bouncycastle.asn1.ASN1ObjectIdentifier contentType)
Return the exact encoded length of the SignerInfo this generator will
produce for the given content type, or -1 when it cannot be predicted.
|
org.bouncycastle.asn1.cms.SignerIdentifier |
getSID() |
CMSAttributeTableGenerator |
getSignedAttributeTableGenerator() |
CMSAttributeTableGenerator |
getUnsignedAttributeTableGenerator() |
boolean |
hasAssociatedCertificate() |
public SignerInfoGenerator(SignerInfoGenerator original, CMSAttributeTableGenerator sAttrGen, CMSAttributeTableGenerator unsAttrGen)
public org.bouncycastle.asn1.cms.SignerIdentifier getSID()
public int getGeneratedVersion()
public boolean hasAssociatedCertificate()
public X509CertificateHolder getAssociatedCertificate()
public org.bouncycastle.asn1.x509.AlgorithmIdentifier getDigestAlgorithm()
public java.io.OutputStream getCalculatingOutputStream()
public org.bouncycastle.asn1.cms.SignerInfo generate(org.bouncycastle.asn1.ASN1ObjectIdentifier contentType)
throws CMSException
CMSExceptionpublic long getPredictedEncodedLength(org.bouncycastle.asn1.ASN1ObjectIdentifier contentType)
Prediction requires the underlying ContentSigner to implement
FixedLengthContentSigner and, where attribute generators are
present, that they produce attribute sets whose encoded length does not
depend on the values supplied at signing time. The default CMS
signed-attribute table qualifies: the messageDigest value's length is
fixed by the digest algorithm and signingTime is a fixed-width UTCTime
(until 2050). Definite-length consumers verify the eventual SignerInfo
against this prediction, so a length-unstable attribute generator fails
at generation time rather than silently corrupting output.
public byte[] getCalculatedDigest()
public CMSAttributeTableGenerator getSignedAttributeTableGenerator()
public CMSAttributeTableGenerator getUnsignedAttributeTableGenerator()