// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.cms;

import org.bouncycastle.asn1.cms.OriginatorInfo;

public class CMSAuthEnvelopedGenerator extends CMSEnvelopedGenerator
{
    public static final String AES128_CCM;
    public static final String AES192_CCM;
    public static final String AES256_CCM;
    public static final String AES128_GCM;
    public static final String AES192_GCM;
    public static final String AES256_GCM;
    public static final String ChaCha20Poly1305;
    protected CMSAttributeTableGenerator authAttrsGenerator;
    protected CMSAttributeTableGenerator unauthAttrsGenerator;
    protected OriginatorInfo originatorInfo;
    
    protected CMSAuthEnvelopedGenerator() {
        this.authAttrsGenerator = null;
        this.unauthAttrsGenerator = null;
    }
    
    public void setAuthenticatedAttributeGenerator(final CMSAttributeTableGenerator authAttrsGenerator) {
        this.authAttrsGenerator = authAttrsGenerator;
    }
    
    public void setUnauthenticatedAttributeGenerator(final CMSAttributeTableGenerator unauthAttrsGenerator) {
        this.unauthAttrsGenerator = unauthAttrsGenerator;
    }
    
    @Override
    public void setOriginatorInfo(final OriginatorInformation originatorInformation) {
        this.originatorInfo = originatorInformation.toASN1Structure();
    }
    
    @Override
    public void addRecipientInfoGenerator(final RecipientInfoGenerator recipientInfoGenerator) {
        this.recipientInfoGenerators.add(recipientInfoGenerator);
    }
    
    static {
        AES128_CCM = CMSAlgorithm.AES128_CCM.getId();
        AES192_CCM = CMSAlgorithm.AES192_CCM.getId();
        AES256_CCM = CMSAlgorithm.AES256_CCM.getId();
        AES128_GCM = CMSAlgorithm.AES128_GCM.getId();
        AES192_GCM = CMSAlgorithm.AES192_GCM.getId();
        AES256_GCM = CMSAlgorithm.AES256_GCM.getId();
        ChaCha20Poly1305 = CMSAlgorithm.ChaCha20Poly1305.getId();
    }
}
