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()
|