diff --git a/crypto/src/bcpg/OnePassSignaturePacket.cs b/crypto/src/bcpg/OnePassSignaturePacket.cs
index b67df0a52..70f0a2207 100644
--- a/crypto/src/bcpg/OnePassSignaturePacket.cs
+++ b/crypto/src/bcpg/OnePassSignaturePacket.cs
@@ -71,21 +71,15 @@ namespace Org.BouncyCastle.Bcpg
get { return keyId; }
}
- public override void Encode(
- BcpgOutputStream bcpgOut)
+ public override void Encode(BcpgOutputStream bcpgOut)
{
MemoryStream bOut = new MemoryStream();
- BcpgOutputStream pOut = new BcpgOutputStream(bOut);
-
- pOut.Write(
- (byte) version,
- (byte) sigType,
- (byte) hashAlgorithm,
- (byte) keyAlgorithm);
-
- pOut.WriteLong(keyId);
-
- pOut.WriteByte((byte) nested);
+ using (var pOut = new BcpgOutputStream(bOut))
+ {
+ pOut.Write((byte)version, (byte)sigType, (byte)hashAlgorithm, (byte)keyAlgorithm);
+ pOut.WriteLong(keyId);
+ pOut.WriteByte((byte)nested);
+ }
bcpgOut.WritePacket(PacketTag.OnePassSignature, bOut.ToArray(), true);
}
diff --git a/crypto/src/bcpg/PublicKeyEncSessionPacket.cs b/crypto/src/bcpg/PublicKeyEncSessionPacket.cs
index 831b5a189..f0b1577ec 100644
--- a/crypto/src/bcpg/PublicKeyEncSessionPacket.cs
+++ b/crypto/src/bcpg/PublicKeyEncSessionPacket.cs
@@ -90,26 +90,22 @@ namespace Org.BouncyCastle.Bcpg
return data;
}
- public override void Encode(
- BcpgOutputStream bcpgOut)
+ public override void Encode(BcpgOutputStream bcpgOut)
{
MemoryStream bOut = new MemoryStream();
- BcpgOutputStream pOut = new BcpgOutputStream(bOut);
-
- pOut.WriteByte((byte) version);
-
- pOut.WriteLong(keyId);
-
- pOut.WriteByte((byte)algorithm);
-
- for (int i = 0; i < data.Length; ++i)
- {
- pOut.Write(data[i]);
- }
-
- Platform.Dispose(pOut);
+ using (var pOut = new BcpgOutputStream(bOut))
+ {
+ pOut.WriteByte((byte)version);
+ pOut.WriteLong(keyId);
+ pOut.WriteByte((byte)algorithm);
+
+ for (int i = 0; i < data.Length; ++i)
+ {
+ pOut.Write(data[i]);
+ }
+ }
- bcpgOut.WritePacket(PacketTag.PublicKeyEncryptedSession , bOut.ToArray(), true);
+ bcpgOut.WritePacket(PacketTag.PublicKeyEncryptedSession, bOut.ToArray(), true);
}
}
}
diff --git a/crypto/src/bcpg/SignaturePacket.cs b/crypto/src/bcpg/SignaturePacket.cs
index ca11ba9f4..3256ee35e 100644
--- a/crypto/src/bcpg/SignaturePacket.cs
+++ b/crypto/src/bcpg/SignaturePacket.cs
@@ -384,55 +384,44 @@ namespace Org.BouncyCastle.Bcpg
get { return creationTime; }
}
- public override void Encode(
- BcpgOutputStream bcpgOut)
+ public override void Encode(BcpgOutputStream bcpgOut)
{
MemoryStream bOut = new MemoryStream();
- BcpgOutputStream pOut = new BcpgOutputStream(bOut);
-
- pOut.WriteByte((byte) version);
-
- if (version == 3 || version == 2)
+ using (var pOut = new BcpgOutputStream(bOut))
{
- pOut.Write(
- 5, // the length of the next block
- (byte) signatureType);
-
- pOut.WriteInt((int)(creationTime / 1000L));
+ pOut.WriteByte((byte)version);
- pOut.WriteLong(keyId);
-
- pOut.Write(
- (byte) keyAlgorithm,
- (byte) hashAlgorithm);
- }
- else if (version == 4)
- {
- pOut.Write(
- (byte) signatureType,
- (byte) keyAlgorithm,
- (byte) hashAlgorithm);
+ if (version == 3 || version == 2)
+ {
+ byte nextBlockLength = 5;
+ pOut.Write(nextBlockLength, (byte)signatureType);
+ pOut.WriteInt((int)(creationTime / 1000L));
+ pOut.WriteLong(keyId);
+ pOut.Write((byte)keyAlgorithm, (byte)hashAlgorithm);
+ }
+ else if (version == 4)
+ {
+ pOut.Write((byte)signatureType, (byte)keyAlgorithm, (byte)hashAlgorithm);
+ EncodeLengthAndData(pOut, GetEncodedSubpackets(hashedData));
+ EncodeLengthAndData(pOut, GetEncodedSubpackets(unhashedData));
+ }
+ else
+ {
+ throw new IOException("unknown version: " + version);
+ }
- EncodeLengthAndData(pOut, GetEncodedSubpackets(hashedData));
+ pOut.Write(fingerprint);
- EncodeLengthAndData(pOut, GetEncodedSubpackets(unhashedData));
- }
- else
- {
- throw new IOException("unknown version: " + version);
+ if (signature != null)
+ {
+ pOut.WriteObjects(signature);
+ }
+ else
+ {
+ pOut.Write(signatureEncoding);
+ }
}
- pOut.Write(fingerprint);
-
- if (signature != null)
- {
- pOut.WriteObjects(signature);
- }
- else
- {
- pOut.Write(signatureEncoding);
- }
-
bcpgOut.WritePacket(PacketTag.Signature, bOut.ToArray(), true);
}
diff --git a/crypto/src/bcpg/SymmetricKeyEncSessionPacket.cs b/crypto/src/bcpg/SymmetricKeyEncSessionPacket.cs
index 0381fa386..85bcc2874 100644
--- a/crypto/src/bcpg/SymmetricKeyEncSessionPacket.cs
+++ b/crypto/src/bcpg/SymmetricKeyEncSessionPacket.cs
@@ -68,21 +68,18 @@ namespace Org.BouncyCastle.Bcpg
get { return version; }
}
- public override void Encode(
- BcpgOutputStream bcpgOut)
+ public override void Encode(BcpgOutputStream bcpgOut)
{
MemoryStream bOut = new MemoryStream();
- BcpgOutputStream pOut = new BcpgOutputStream(bOut);
+ using (var pOut = new BcpgOutputStream(bOut))
+ {
+ pOut.Write((byte)version, (byte)encAlgorithm);
+ pOut.WriteObject(s2k);
- pOut.Write(
- (byte) version,
- (byte) encAlgorithm);
-
- pOut.WriteObject(s2k);
-
- if (secKeyData != null && secKeyData.Length > 0)
- {
- pOut.Write(secKeyData);
+ if (secKeyData != null && secKeyData.Length > 0)
+ {
+ pOut.Write(secKeyData);
+ }
}
bcpgOut.WritePacket(PacketTag.SymmetricKeyEncryptedSessionKey, bOut.ToArray(), true);
|