/** * * Code derived and adapted from the Jitsi client side SRTP framework. * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.restcomm.media.rtp.crypto; /** * SRTP/SRTCP TransformEngine that uses different keys for forward and reverse * transformations. * * @author Ingo Bauersachs */ public class AsymmetricSRTPTransformer implements TransformEngine { private SRTPTransformEngine forwardEngine; private SRTPTransformEngine reverseEngine; public AsymmetricSRTPTransformer(SRTPTransformEngine forwardEngine, SRTPTransformEngine reverseEngine) { this.forwardEngine = forwardEngine; this.reverseEngine = reverseEngine; } /** * Close the transformer engine. * * The close functions closes all stored default crypto contexts. This * deletes key data and forces a cleanup of the crypto contexts. */ public void close() { if (forwardEngine != null) forwardEngine.close(); if (reverseEngine != null) reverseEngine.close(); forwardEngine = null; reverseEngine = null; } /* * (non-Javadoc) * * @see * net.java.sip.communicator.impl.neomedia.transform.srtp.SRTPTransformEngine * #getRTCPTransformer() */ public PacketTransformer getRTCPTransformer() { return new SRTCPTransformer(forwardEngine, reverseEngine); } /* * (non-Javadoc) * * @see * net.java.sip.communicator.impl.neomedia.transform.srtp.SRTPTransformEngine * #getRTPTransformer() */ public PacketTransformer getRTPTransformer() { return new SRTPTransformer(forwardEngine, reverseEngine); } }