Esempio n. 1
0
        private static byte[] PRF(TlsKdfWithPrfParameters parameters, int size)
        {
            byte[] label     = Strings.ToByteArray(parameters.Label);
            byte[] labelSeed = Arrays.Concatenate(label, parameters.SeedMaterial);

            IMac prfMac = FipsShs.CreateHmac(parameters.Prf);

            byte[] buf = new byte[size];
            hmac_hash(prfMac, parameters.Secret, labelSeed, buf);
            return(buf);
        }
Esempio n. 2
0
            public IKdfCalculator <TlsKdfWithPrfParameters> From(byte[] secret, string label, params byte[][] seedMaterial)
            {
                TlsKdfWithPrfParameters parameters = new TlsKdfWithPrfParameters(algorithm, prf, Arrays.Clone(secret), label, concatenate(seedMaterial));

                return(new Tls12KdfFactory(parameters));
            }