Beispiel #1
0
        private byte[] NewKey(int keyLength, object key, IDictionary <string, string> header)
        {
            var recieverPubKey = Ensure.Type <CngKey>(key, "EcdhKeyManagement alg expects key to be of CngKey type.");

            EccKey ephemeral = EccKey.Generate(recieverPubKey);

            IDictionary <string, string> epk = new Dictionary <string, string>();

            epk["kty"] = "EC";
            epk["x"]   = Base64Url.Encode(ephemeral.X);
            epk["y"]   = Base64Url.Encode(ephemeral.Y);
            epk["crv"] = Curve(recieverPubKey);

            //header["epk"] = epk;

            //return DeriveKey(header, keyLength, recieverPubKey, ephemeral.Key);
            return(null);
        }