コード例 #1
0
        private ICipherParameters GetParameters(ConnectionDirection direction)
        {
            var end = _endConfig.End;
            var cipherParameterFactory = _cipherSuitesProvider.ResolveCipherParameterFactory(_cipherSuiteConfig.CipherSuite);

            return(cipherParameterFactory.Create(end, direction));
        }
コード例 #2
0
        private ICipherParameters GetParameters(ConnectionDirection direction, byte[] aad, byte[] nonceExplicit)
        {
            var end = _endConfig.End;
            var cipherParameterFactory = _cipherSuitesProvider.ResolveCipherParameterFactory(_cipherSuiteConfig.CipherSuite);

            var innerParameters = cipherParameterFactory.Create(end, direction);

            var nonceImplicit = GetImplicitNonce(direction);

            SecurityAssert.NotNull(nonceImplicit);
            SecurityAssert.Assert(nonceImplicit.Length > 0);

            var nonce = new byte[nonceImplicit.Length + nonceExplicit.Length];

            Array.Copy(nonceImplicit, 0, nonce, 0, nonceImplicit.Length);
            Array.Copy(nonceExplicit, 0, nonce, nonceImplicit.Length, nonceExplicit.Length);

            return(new AADParameter(new IVParameter(innerParameters, nonce), aad));
        }