pyderasn.py | 11 +++++------ diff --git a/pyderasn.py b/pyderasn.py index 1bfe68ff0ca2868621f9538bc46a279389a07d4eb0ee2c6cd4db3a334d9def76..262e48144addbb3ef72a8ff561ac3b05dc925ea1a40c33d2944c2531a8f6536e 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -6367,17 +6367,16 @@ __slots__ = () tag_default = tag_encode(form=TagFormConstructed, num=17) asn1_type_name = "SET" - def _encode(self): - v = b"".join(value.encode() for value in sorted( - self._values_for_encoding(), + def _values_for_encoding(self): + return sorted( + super(Set, self)._values_for_encoding(), key=attrgetter("tag_order"), - )) - return b"".join((self.tag, len_encode(len(v)), v)) + ) def _encode_cer(self, writer): write_full(writer, self.tag + LENINDEF) for v in sorted( - self._values_for_encoding(), + super(Set, self)._values_for_encoding(), key=attrgetter("tag_order_cer"), ): v.encode_cer(writer)