summary refs log tree commit diff
path: root/crypto/test/src/openssl
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/test/src/openssl')
-rw-r--r--crypto/test/src/openssl/test/AllTests.cs45
-rw-r--r--crypto/test/src/openssl/test/ReaderTest.cs172
-rw-r--r--crypto/test/src/openssl/test/WriterTest.cs62
3 files changed, 145 insertions, 134 deletions
diff --git a/crypto/test/src/openssl/test/AllTests.cs b/crypto/test/src/openssl/test/AllTests.cs

index c6416f9db..fd88bfcdf 100644 --- a/crypto/test/src/openssl/test/AllTests.cs +++ b/crypto/test/src/openssl/test/AllTests.cs
@@ -44,23 +44,24 @@ namespace Org.BouncyCastle.OpenSsl.Tests private void EncryptedTest(AsymmetricKeyParameter privKey, string algorithm) { - StringWriter sw = new StringWriter(); - PemWriter pWrt = new PemWriter(sw); Pkcs8Generator pkcs8 = new Pkcs8Generator(privKey, algorithm); pkcs8.Password = "hello".ToCharArray(); - pWrt.WriteObject(pkcs8); - pWrt.Writer.Close(); + StringWriter sw = new StringWriter(); + using (var pWrt = new PemWriter(sw)) + { + pWrt.WriteObject(pkcs8); + } string result = sw.ToString(); - PemReader pRd = new PemReader(new StringReader(result), new Password("hello".ToCharArray())); + using (var pRd = new PemReader(new StringReader(result), new Password("hello".ToCharArray()))) + { + AsymmetricKeyParameter rdKey = (AsymmetricKeyParameter)pRd.ReadObject(); - AsymmetricKeyParameter rdKey = (AsymmetricKeyParameter)pRd.ReadObject(); - pRd.Reader.Close(); - - Assert.AreEqual(privKey, rdKey); - } + Assert.AreEqual(privKey, rdKey); + } + } [Test] public void TestPkcs8Plain() @@ -69,22 +70,22 @@ namespace Org.BouncyCastle.OpenSsl.Tests kpGen.Init(new KeyGenerationParameters(new SecureRandom(), 1024)); AsymmetricKeyParameter privKey = kpGen.GenerateKeyPair().Private; + Pkcs8Generator pkcs8 = new Pkcs8Generator(privKey); - StringWriter sw = new StringWriter(); - PemWriter pWrt = new PemWriter(sw); - - Pkcs8Generator pkcs8 = new Pkcs8Generator(privKey); - pWrt.WriteObject(pkcs8); - pWrt.Writer.Close(); + StringWriter sw = new StringWriter(); + using (var pWrt = new PemWriter(sw)) + { + pWrt.WriteObject(pkcs8); + } string result = sw.ToString(); - PemReader pRd = new PemReader(new StringReader(result), new Password("hello".ToCharArray())); - - AsymmetricKeyParameter rdKey = (AsymmetricKeyParameter)pRd.ReadObject(); - pRd.Reader.Close(); + using (var pRd = new PemReader(new StringReader(result), new Password("hello".ToCharArray()))) + { + AsymmetricKeyParameter rdKey = (AsymmetricKeyParameter)pRd.ReadObject(); - Assert.AreEqual(privKey, rdKey); - } + Assert.AreEqual(privKey, rdKey); + } + } } } diff --git a/crypto/test/src/openssl/test/ReaderTest.cs b/crypto/test/src/openssl/test/ReaderTest.cs
index 8cb66d6a6..e8b3dccea 100644 --- a/crypto/test/src/openssl/test/ReaderTest.cs +++ b/crypto/test/src/openssl/test/ReaderTest.cs
@@ -53,8 +53,8 @@ namespace Org.BouncyCastle.OpenSsl.Tests "-----END PRIVATE KEY-----"; using (var textReader = new StringReader(data)) + using (var pemReader = new PemReader(textReader)) { - var pemReader = new PemReader(textReader); var pemObj = pemReader.ReadPemObject(); PrivateKeyFactory.CreateKey(pemObj.Content); } @@ -63,35 +63,37 @@ namespace Org.BouncyCastle.OpenSsl.Tests public override void PerformTest() { IPasswordFinder pGet = new Password("secret".ToCharArray()); - PemReader pemRd = OpenPemResource("test.pem", pGet); - AsymmetricCipherKeyPair pair; - - object o; - while ((o = pemRd.ReadObject()) != null) + using (var pemRd = OpenPemResource("test.pem", pGet)) { -// if (o is AsymmetricCipherKeyPair) -// { -// ackp = (AsymmetricCipherKeyPair)o; -// -// Console.WriteLine(ackp.Public); -// Console.WriteLine(ackp.Private); -// } -// else -// { -// Console.WriteLine(o.ToString()); -// } + object o; + while ((o = pemRd.ReadObject()) != null) + { + //if (o is AsymmetricCipherKeyPair) + //{ + // ackp = (AsymmetricCipherKeyPair)o; + + // Console.WriteLine(ackp.Public); + // Console.WriteLine(ackp.Private); + //} + //else + //{ + // Console.WriteLine(o.ToString()); + //} + } } // // pkcs 7 data // - pemRd = OpenPemResource("pkcs7.pem", null); - - ContentInfo d = (ContentInfo)pemRd.ReadObject(); - - if (!d.ContentType.Equals(CmsObjectIdentifiers.EnvelopedData)) + ContentInfo d; + using (var pemRd = OpenPemResource("pkcs7.pem", null)) { - Fail("failed envelopedData check"); + d = (ContentInfo)pemRd.ReadObject(); + + if (!d.ContentType.Equals(CmsObjectIdentifiers.EnvelopedData)) + { + Fail("failed envelopedData check"); + } } /* @@ -148,7 +150,7 @@ namespace Org.BouncyCastle.OpenSsl.Tests 768, 25)); - pair = kpGen.GenerateKeyPair(); + AsymmetricCipherKeyPair pair = kpGen.GenerateKeyPair(); keyPairTest("RSA", pair); @@ -171,19 +173,20 @@ namespace Org.BouncyCastle.OpenSsl.Tests // PKCS7 // MemoryStream bOut = new MemoryStream(); - PemWriter pWrt = new PemWriter(new StreamWriter(bOut)); - - pWrt.WriteObject(d); - pWrt.Writer.Close(); - - pemRd = new PemReader(new StreamReader(new MemoryStream(bOut.ToArray(), false))); - d = (ContentInfo)pemRd.ReadObject(); - - if (!d.ContentType.Equals(CmsObjectIdentifiers.EnvelopedData)) + using (var pWrt = new PemWriter(new StreamWriter(bOut))) { - Fail("failed envelopedData recode check"); + pWrt.WriteObject(d); } + using (var pemRd = new PemReader(new StreamReader(new MemoryStream(bOut.ToArray(), false)))) + { + d = (ContentInfo)pemRd.ReadObject(); + + if (!d.ContentType.Equals(CmsObjectIdentifiers.EnvelopedData)) + { + Fail("failed envelopedData recode check"); + } + } // OpenSSL test cases (as embedded resources) doOpenSslDsaTest("unencrypted"); @@ -224,24 +227,27 @@ namespace Org.BouncyCastle.OpenSsl.Tests // encrypted private key test pGet = new Password("password".ToCharArray()); - pemRd = OpenPemResource("enckey.pem", pGet); - - RsaPrivateCrtKeyParameters privKey = (RsaPrivateCrtKeyParameters)pemRd.ReadObject(); - - if (!privKey.PublicExponent.Equals(new BigInteger("10001", 16))) + using (var pemRd = OpenPemResource("enckey.pem", pGet)) { - Fail("decryption of private key data check failed"); + var privKey = (RsaPrivateCrtKeyParameters)pemRd.ReadObject(); + + if (!privKey.PublicExponent.Equals(new BigInteger("10001", 16))) + { + Fail("decryption of private key data check failed"); + } } // general PKCS8 test pGet = new Password("password".ToCharArray()); - pemRd = OpenPemResource("pkcs8test.pem", pGet); - - while ((privKey = (RsaPrivateCrtKeyParameters)pemRd.ReadObject()) != null) + using (var pemRd = OpenPemResource("pkcs8test.pem", pGet)) { - if (!privKey.PublicExponent.Equals(new BigInteger("10001", 16))) + RsaPrivateCrtKeyParameters privKey; + while ((privKey = (RsaPrivateCrtKeyParameters)pemRd.ReadObject()) != null) { - Fail("decryption of private key data check failed"); + if (!privKey.PublicExponent.Equals(new BigInteger("10001", 16))) + { + Fail("decryption of private key data check failed"); + } } } } @@ -251,36 +257,37 @@ namespace Org.BouncyCastle.OpenSsl.Tests AsymmetricCipherKeyPair pair) { MemoryStream bOut = new MemoryStream(); - PemWriter pWrt = new PemWriter(new StreamWriter(bOut)); - - pWrt.WriteObject(pair.Public); - pWrt.Writer.Close(); - - PemReader pemRd = new PemReader(new StreamReader(new MemoryStream(bOut.ToArray(), false))); + using (var pWrt = new PemWriter(new StreamWriter(bOut))) + { + pWrt.WriteObject(pair.Public); + } - AsymmetricKeyParameter pubK = (AsymmetricKeyParameter) pemRd.ReadObject(); - if (!pubK.Equals(pair.Public)) + using (var pemRd = new PemReader(new StreamReader(new MemoryStream(bOut.ToArray(), false)))) { - Fail("Failed public key read: " + name); + AsymmetricKeyParameter pubK = (AsymmetricKeyParameter)pemRd.ReadObject(); + if (!pubK.Equals(pair.Public)) + { + Fail("Failed public key read: " + name); + } } bOut = new MemoryStream(); - pWrt = new PemWriter(new StreamWriter(bOut)); - - pWrt.WriteObject(pair.Private); - pWrt.Writer.Close(); - - pemRd = new PemReader(new StreamReader(new MemoryStream(bOut.ToArray(), false))); - - AsymmetricCipherKeyPair kPair = (AsymmetricCipherKeyPair) pemRd.ReadObject(); - if (!kPair.Private.Equals(pair.Private)) + using (var pWrt = new PemWriter(new StreamWriter(bOut))) { - Fail("Failed private key read: " + name); + pWrt.WriteObject(pair.Private); } - - if (!kPair.Public.Equals(pair.Public)) + + using (var pemRd = new PemReader(new StreamReader(new MemoryStream(bOut.ToArray(), false)))) { - Fail("Failed private key public read: " + name); + AsymmetricCipherKeyPair kPair = (AsymmetricCipherKeyPair)pemRd.ReadObject(); + if (!kPair.Private.Equals(pair.Private)) + { + Fail("Failed private key read: " + name); + } + if (!kPair.Public.Equals(pair.Public)) + { + Fail("Failed private key public read: " + name); + } } } @@ -329,18 +336,19 @@ namespace Org.BouncyCastle.OpenSsl.Tests string fileName, Type expectedPrivKeyType) { - PemReader pr = OpenPemResource(fileName, new Password("changeit".ToCharArray())); - AsymmetricCipherKeyPair kp = pr.ReadObject() as AsymmetricCipherKeyPair; - pr.Reader.Close(); - - if (kp == null) + using (var pr = OpenPemResource(fileName, new Password("changeit".ToCharArray()))) { - Fail("Didn't find OpenSSL key"); - } + AsymmetricCipherKeyPair kp = pr.ReadObject() as AsymmetricCipherKeyPair; - if (!expectedPrivKeyType.IsInstanceOfType(kp.Private)) - { - Fail("Returned key not of correct type"); + if (kp == null) + { + Fail("Didn't find OpenSSL key"); + } + + if (!expectedPrivKeyType.IsInstanceOfType(kp.Private)) + { + Fail("Returned key not of correct type"); + } } } @@ -351,13 +359,13 @@ namespace Org.BouncyCastle.OpenSsl.Tests try { IPasswordFinder pGet = new Password(password.ToCharArray()); - PemReader pemRd = OpenPemResource("test.pem", pGet); - - object o; - while ((o = pemRd.ReadObject()) != null) + using (var pemRd = OpenPemResource("test.pem", pGet)) { + object o; + while ((o = pemRd.ReadObject()) != null) + { + } } - Fail("issue not detected: " + index); } catch (Exception e) diff --git a/crypto/test/src/openssl/test/WriterTest.cs b/crypto/test/src/openssl/test/WriterTest.cs
index 833a3d145..4bba4f5c6 100644 --- a/crypto/test/src/openssl/test/WriterTest.cs +++ b/crypto/test/src/openssl/test/WriterTest.cs
@@ -106,13 +106,13 @@ namespace Org.BouncyCastle.OpenSsl.Tests DoWriteReadTest(ecPriv); DoWriteReadTests(ecPriv, algorithms); - // override test - PemWriter pWrt = new PemWriter(new StringWriter()); + // override test + object o = new PemObject("FRED", new byte[100]); - object o = new PemObject("FRED", new byte[100]); - pWrt.WriteObject(o); - - pWrt.Writer.Close(); + using (var pWrt = new PemWriter(new StringWriter())) + { + pWrt.WriteObject(o); + } } private void DoWriteReadTests( @@ -129,44 +129,46 @@ namespace Org.BouncyCastle.OpenSsl.Tests AsymmetricKeyParameter akp) { StringWriter sw = new StringWriter(); - PemWriter pw = new PemWriter(sw); - - pw.WriteObject(akp); - pw.Writer.Close(); + using (var pw = new PemWriter(sw)) + { + pw.WriteObject(akp); + } string data = sw.ToString(); - PemReader pr = new PemReader(new StringReader(data)); - - AsymmetricCipherKeyPair kp = pr.ReadObject() as AsymmetricCipherKeyPair; - - if (kp == null || !kp.Private.Equals(akp)) + using (var pr = new PemReader(new StringReader(data))) { - Fail("Failed to read back test key"); - } - } + AsymmetricCipherKeyPair kp = pr.ReadObject() as AsymmetricCipherKeyPair; + + if (kp == null || !kp.Private.Equals(akp)) + { + Fail("Failed to read back test key"); + } + } + } private void DoWriteReadTest( AsymmetricKeyParameter akp, string algorithm) { StringWriter sw = new StringWriter(); - PemWriter pw = new PemWriter(sw); - - pw.WriteObject(akp, algorithm, testPassword, random); - pw.Writer.Close(); + using (var pw = new PemWriter(sw)) + { + pw.WriteObject(akp, algorithm, testPassword, random); + } string data = sw.ToString(); - PemReader pr = new PemReader(new StringReader(data), new Password(testPassword)); - - AsymmetricCipherKeyPair kp = pr.ReadObject() as AsymmetricCipherKeyPair; - - if (kp == null || !kp.Private.Equals(akp)) + using (var pr = new PemReader(new StringReader(data), new Password(testPassword))) { - Fail("Failed to read back test key encoded with: " + algorithm); - } - } + AsymmetricCipherKeyPair kp = pr.ReadObject() as AsymmetricCipherKeyPair; + + if (kp == null || !kp.Private.Equals(akp)) + { + Fail("Failed to read back test key encoded with: " + algorithm); + } + } + } [Test] public void TestFunction()