public void GetServersRootPublicKeyTest() { var keyPair = ThaliCryptoUtilities.GenerateThaliAcceptablePublicPrivateKeyPair(); var pkcs12Stream = ThaliCryptoUtilities.CreatePKCS12KeyStoreWithPublicPrivateKeyPair( keyPair, ThaliCryptoUtilities.DefaultPassPhrase); var cert = ThaliCryptoUtilities.GetX509Certificate(pkcs12Stream, ThaliCryptoUtilities.DefaultPassPhrase); var serverKey = ThaliClientToDeviceHubUtilities.GetServersRootPublicKey(Host, Port, cert); Assert.IsNotNull(serverKey); }
public void ThaliWebRequestTest() { var keyPair = ThaliCryptoUtilities.GenerateThaliAcceptablePublicPrivateKeyPair(); var pkcs12Stream = ThaliCryptoUtilities.CreatePKCS12KeyStoreWithPublicPrivateKeyPair( keyPair, ThaliCryptoUtilities.DefaultPassPhrase); var cert = ThaliCryptoUtilities.GetX509Certificate(pkcs12Stream, ThaliCryptoUtilities.DefaultPassPhrase); var serverKey = ThaliClientToDeviceHubUtilities.GetServersRootPublicKey(Host, Port, cert); var serverHttpKeyUri = HttpKeyUri.BuildHttpKeyUri(serverKey, Host, Port, null, null); var thaliWebRequest = ThaliClientToDeviceHubUtilities.CreateThaliWebRequest(serverHttpKeyUri, cert); thaliWebRequest.Method = "GET"; thaliWebRequest.GetResponse().Close(); }
public void TestKeyStoreMethods() { var keyPair = ThaliCryptoUtilities.GenerateThaliAcceptablePublicPrivateKeyPair(); var keyStoreBinary = ThaliCryptoUtilities.CreatePKCS12KeyStoreWithPublicPrivateKeyPair(keyPair, ThaliCryptoUtilities.DefaultPassPhrase); var x509cert = ThaliCryptoUtilities.GetX509Certificate(keyStoreBinary, ThaliCryptoUtilities.DefaultPassPhrase); var retrievedKeyParams = ((RSACryptoServiceProvider)x509cert.PrivateKey).ExportParameters(true); var originalBigIntegerRsaPublicKey = new BigIntegerRSAPublicKey((RsaKeyParameters)keyPair.Public); var retrievedBigIntegerRsaPublicKey = new BigIntegerRSAPublicKey(retrievedKeyParams); Assert.IsTrue(originalBigIntegerRsaPublicKey.Equals(retrievedBigIntegerRsaPublicKey)); var originalKeyParams = (RsaPrivateCrtKeyParameters)keyPair.Private; Assert.IsTrue( originalKeyParams.DP.Equals(new BigInteger(1, retrievedKeyParams.DP)) && originalKeyParams.DQ.Equals(new BigInteger(1, retrievedKeyParams.DQ)) && originalKeyParams.P.Equals(new BigInteger(1, retrievedKeyParams.P)) && originalKeyParams.Q.Equals(new BigInteger(1, retrievedKeyParams.Q))); }