public void PersistentKey_InvalidAlgorithm() { Assert.Throws <ArgumentException>(() => new ECDHKey(CngAlgorithm.Rsa)); using (var k = new ECDHKey(TestKeyName)) Assert.Throws <InvalidOperationException>(() => new ECDHKey(CngAlgorithm.ECDiffieHellmanP384, TestKeyName)); }
public void DeriveSharedKey() { using (var k1 = new ECDHKey()) using (var k2 = new ECDHKey()) { var sharedKey1 = k1.DeriveSharedKey(k2.PublicKey); var sharedKey2 = k2.DeriveSharedKey(k1.PublicKey); Assert.That(sharedKey1, Is.EqualTo(sharedKey2)); } }
public static NewRegRequest CreateNewRegRequestEntity(BaseRequest br, string wxAccount, string wxPwd, string nickName, string ticket, byte[] randomEncryKey, ECDHKey cliPubECDHKey, string clientid, string androidid, string fingerprint, string mac, string regID) { NewRegRequest.Builder nggb = new NewRegRequest.Builder(); nggb.SetBase(br); nggb.SetUserName(""); string strPwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(wxPwd, "MD5"); nggb.SetPwd(strPwd); nggb.SetNickName(nickName); nggb.SetBindUin(0); nggb.SetBindEmail(""); nggb.SetBindMobile(wxAccount); nggb.SetTicket(ticket); nggb.SetBuiltinIPSeq(0); nggb.SetDLSrc(0); nggb.SetRegMode(1); nggb.SetTimeZone("8.00"); nggb.SetLanguage("zh_CN"); nggb.SetForceReg(1); nggb.SetRealCountry("cn"); SKBuiltinBuffer_t.Builder skbb = new SKBuiltinBuffer_t.Builder(); skbb.SetILen(16); byte[] randomKey = randomEncryKey; skbb.SetBuffer(ByteString.CopyFrom(randomKey)); SKBuiltinBuffer_t sbk = skbb.Build(); nggb.SetRandomEncryKey(sbk); nggb.SetAlias(""); nggb.SetVerifyContent(""); nggb.SetVerifySignature(""); nggb.SetHasHeadImg(0); nggb.SetSuggestRet(0); nggb.SetClientSeqId(clientid); //nggb.SetBundleId(""); nggb.SetCliPubEcdhkey(cliPubECDHKey); //nggb.SetBundleId(""); nggb.SetGoogleAid(""); nggb.SetMobileCheckType(0); nggb.SetBioSigCheckType(0); nggb.SetRegSessionId(regID); nggb.SetAndroidInstallRef(""); nggb.SetAndroidId(androidid); nggb.SetClientFingerprint(fingerprint); nggb.SetMacAddr(mac); NewRegRequest ngg = nggb.Build(); return(ngg); }
public void PersistentKey() { using (var k1 = new ECDHKey(TestKeyName)) using (var k2 = new ECDHKey(TestKeyName)) { Assert.That(k1.IsEphemeral, Is.False); Assert.That(k2.IsEphemeral, Is.False); Assert.That(k1.KeyName, Is.EqualTo(TestKeyName)); Assert.That(k2.KeyName, Is.EqualTo(TestKeyName)); Assert.That(k1.PublicKey, Is.EqualTo(k2.PublicKey)); } }
public void EphemeralKey() { using (var k1 = new ECDHKey()) using (var k2 = new ECDHKey()) { Assert.That(k1.IsEphemeral, Is.True); Assert.That(k2.IsEphemeral, Is.True); Assert.That(k1.KeyName, Is.Null); Assert.That(k2.KeyName, Is.Null); Assert.That(k1.PublicKey, Is.Not.EqualTo(k2.PublicKey)); } }
public static InitKey CreateInitKeyEntity(byte[] randomEncryKey, ECDHKey cliPubECDHKey, string string_0, string wxPwd) { InitKey.Builder builder = new InitKey.Builder(); SKBuiltinBuffer_t.Builder builder2 = new SKBuiltinBuffer_t.Builder(); builder2.SetILen(16); builder2.SetBuffer(ByteString.CopyFrom(randomEncryKey)); builder.SetRandomEncryKey(builder2); builder.SetCliPubECDHKey(cliPubECDHKey); builder.SetAccount(string_0); string text = FormsAuthentication.HashPasswordForStoringInConfigFile(wxPwd, "MD5"); builder.SetPwd(text); builder.SetPwd2(text); return(builder.Build()); }
public static InitKey CreateInitKeyEntity(byte[] randomEncryKey, ECDHKey cliPubECDHKey, string WXAccount, string wxPwd) { InitKey.Builder key = new InitKey.Builder(); SKBuiltinBuffer_t.Builder skbb = new SKBuiltinBuffer_t.Builder(); skbb.SetILen(16); skbb.SetBuffer(ByteString.CopyFrom(randomEncryKey)); key.SetRandomEncryKey(skbb); key.SetCliPubECDHKey(cliPubECDHKey); key.SetAccount(WXAccount); string strWxPwd = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(wxPwd, "MD5"); key.SetPwd(strWxPwd); key.SetPwd2(strWxPwd); return(key.Build()); }
public static AutoAuthRsaReqData CreateAutoAuthKeyEntity(byte[] randomEncryKey, ECDHKey cliPubECDHKey) { AutoAuthRsaReqData.Builder key = new AutoAuthRsaReqData.Builder(); SKBuiltinBuffer_t.Builder skbb = new SKBuiltinBuffer_t.Builder(); skbb.SetILen(16); skbb.SetBuffer(ByteString.CopyFrom(randomEncryKey)); key.SetAesEncryptKey(skbb); key.SetCliPubECDHKey(cliPubECDHKey); return(key.Build()); }