X-Git-Url: http://www.git.cypherpunks.ru/?p=pyderasn.git;a=blobdiff_plain;f=pyderasn.py;h=8208efeb024148e54e8c6e71ca369383b393f273;hp=aa9f60c486fb973a09b0ce6e3b532240a079bfc0;hb=57d488e9db5cddb4b2ae986838ce93fad0948eb4;hpb=74cdfadb3da71f61a45936d4df1a45b8774814f7 diff --git a/pyderasn.py b/pyderasn.py index aa9f60c..8208efe 100755 --- a/pyderasn.py +++ b/pyderasn.py @@ -6367,17 +6367,16 @@ class Set(Sequence): 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)