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

package org.bouncycastle.cms.jcajce;

import org.bouncycastle.cms.CMSException;
import org.bouncycastle.jcajce.io.MacOutputStream;
import java.io.OutputStream;
import org.bouncycastle.operator.jcajce.JceGenericKey;
import org.bouncycastle.operator.GenericKey;
import javax.crypto.Mac;
import java.security.Key;
import org.bouncycastle.operator.MacCalculator;
import org.bouncycastle.cms.RecipientOperator;
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
import javax.crypto.SecretKey;

public class JceKEKAuthenticatedRecipient extends JceKEKRecipient
{
    public JceKEKAuthenticatedRecipient(final SecretKey secretKey) {
        super(secretKey);
    }
    
    @Override
    public RecipientOperator getRecipientOperator(final AlgorithmIdentifier algorithmIdentifier, final AlgorithmIdentifier algorithmIdentifier2, final byte[] array) throws CMSException {
        final Key secretKey = this.extractSecretKey(algorithmIdentifier, algorithmIdentifier2, array);
        return new RecipientOperator(new MacCalculator() {
            final /* synthetic */ Mac val$dataMac = JceKEKAuthenticatedRecipient.this.contentHelper.createContentMac(secretKey, algorithmIdentifier2);
            
            @Override
            public AlgorithmIdentifier getAlgorithmIdentifier() {
                return algorithmIdentifier2;
            }
            
            @Override
            public GenericKey getKey() {
                return new JceGenericKey(algorithmIdentifier2, secretKey);
            }
            
            @Override
            public OutputStream getOutputStream() {
                return new MacOutputStream(this.val$dataMac);
            }
            
            @Override
            public byte[] getMac() {
                return this.val$dataMac.doFinal();
            }
        });
    }
}
