diff options
Diffstat (limited to 'crypto/src/asn1/BerSequence.cs')
-rw-r--r-- | crypto/src/asn1/BerSequence.cs | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/crypto/src/asn1/BerSequence.cs b/crypto/src/asn1/BerSequence.cs index e0525efa6..c8c5bbbbd 100644 --- a/crypto/src/asn1/BerSequence.cs +++ b/crypto/src/asn1/BerSequence.cs @@ -55,14 +55,13 @@ namespace Org.BouncyCastle.Asn1 internal override void Encode(Asn1OutputStream asn1Out, bool withID) { - if (asn1Out.IsBer) + if (!asn1Out.IsBer) { - asn1Out.WriteEncodingIL(withID, Asn1Tags.Constructed | Asn1Tags.Sequence, elements); - } - else - { - base.Encode(asn1Out, withID); - } + base.Encode(asn1Out, withID); + return; + } + + asn1Out.WriteEncodingIL(withID, Asn1Tags.Constructed | Asn1Tags.Sequence, elements); } internal override DerBitString ToAsn1BitString() @@ -74,12 +73,17 @@ namespace Org.BouncyCastle.Asn1 { // TODO There is currently no BerExternal class (or ToDLObject/ToDerObject) //return ((Asn1Sequence)ToDLObject()).ToAsn1External(); - return new DerSequence(elements, false).ToAsn1External(); + return new DLSequence(elements).ToAsn1External(); } internal override Asn1OctetString ToAsn1OctetString() { return new BerOctetString(GetConstructedOctetStrings()); } + + internal override Asn1Set ToAsn1Set() + { + return new BerSet(false, elements); + } } } |