summary refs log tree commit diff
path: root/crypto/src/openpgp/PgpOnePassSignature.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/openpgp/PgpOnePassSignature.cs')
-rw-r--r--crypto/src/openpgp/PgpOnePassSignature.cs14
1 files changed, 11 insertions, 3 deletions
diff --git a/crypto/src/openpgp/PgpOnePassSignature.cs b/crypto/src/openpgp/PgpOnePassSignature.cs

index 68fc5994d..2fab5137e 100644 --- a/crypto/src/openpgp/PgpOnePassSignature.cs +++ b/crypto/src/openpgp/PgpOnePassSignature.cs
@@ -9,14 +9,22 @@ namespace Org.BouncyCastle.Bcpg.OpenPgp /// <remarks>A one pass signature object.</remarks> public class PgpOnePassSignature { - private OnePassSignaturePacket sigPack; - private int signatureType; + private static OnePassSignaturePacket Cast(Packet packet) + { + if (!(packet is OnePassSignaturePacket)) + throw new IOException("unexpected packet in stream: " + packet); + + return (OnePassSignaturePacket)packet; + } + + private readonly OnePassSignaturePacket sigPack; + private readonly int signatureType; private ISigner sig; private byte lastb; internal PgpOnePassSignature( BcpgInputStream bcpgInput) - : this((OnePassSignaturePacket) bcpgInput.ReadPacket()) + : this(Cast(bcpgInput.ReadPacket())) { }