internal SignerInfoGenerator(SignerIdentifier sigId, ISignatureFactory <AlgorithmIdentifier> signerFactory, IDigestFactoryProvider <AlgorithmIdentifier> digesterProvider, ISignatureEncryptionAlgorithmFinder sigEncAlgFinder, bool isDirectSignature) { this.sigId = sigId; this.signer = signerFactory; this.signerCalculator = signerFactory.CreateCalculator(); if (digesterProvider != null) { this.digester = digesterProvider.CreateDigestFactory(digAlgFinder.Find(signer.AlgorithmDetails)); this.digestCalculator = digester.CreateCalculator(); } else { this.digester = null; } this.sigEncAlgFinder = sigEncAlgFinder; this.isDirectSignature = isDirectSignature; if (this.isDirectSignature) { this.signedGen = null; this.unsignedGen = null; } else { this.signedGen = new DefaultSignedAttributeTableGenerator(); this.unsignedGen = null; } }
internal SignerInfoGenerator(SignerIdentifier sigId, ISignatureFactory <AlgorithmIdentifier> contentSigner, IDigestFactoryProvider <AlgorithmIdentifier> digesterProvider, ISignatureEncryptionAlgorithmFinder sigEncAlgFinder, ICmsAttributeTableGenerator signedGen, ICmsAttributeTableGenerator unsignedGen) { this.sigId = sigId; this.signer = contentSigner; this.signerCalculator = contentSigner.CreateCalculator(); if (digesterProvider != null) { this.digester = digesterProvider.CreateDigestFactory(digAlgFinder.Find(signer.AlgorithmDetails)); this.digestCalculator = digester.CreateCalculator(); } else { this.digester = null; } this.sigEncAlgFinder = sigEncAlgFinder; this.signedGen = signedGen; this.unsignedGen = unsignedGen; this.isDirectSignature = false; }
private SignerInfoGenerator CreateGenerator(ISignatureFactory <AlgorithmIdentifier> contentSigner, SignerIdentifier sigId) { if (directSignature) { return(new SignerInfoGenerator(sigId, contentSigner, digestProvider, sigEncAlgFinder, true)); } if (signedGen != null || unsignedGen != null) { if (signedGen == null) { signedGen = new DefaultSignedAttributeTableGenerator(); } return(new SignerInfoGenerator(sigId, contentSigner, digestProvider, sigEncAlgFinder, signedGen, unsignedGen)); } return(new SignerInfoGenerator(sigId, contentSigner, digestProvider, sigEncAlgFinder)); }
public void SetUnprotectedAttributeGenerator(ICmsAttributeTableGenerator unprotectedAttributeGenerator) { this.unprotectedAttributeGenerator = unprotectedAttributeGenerator; }
/** * Provide a generator of unsigned attributes. * * @param unsignedGen a generator for signed attributes. * @return the builder object */ public SignerInfoGeneratorBuilder WithUnsignedAttributeGenerator(ICmsAttributeTableGenerator unsignedGen) { this.unsignedGen = unsignedGen; return(this); }