Skip to content

Commit a711fb7

Browse files
authored
fix: use little-endian (LSB) bit order for IETF TSL (#2307)
Signed-off-by: Ivan Wei <[email protected]>
1 parent c0c6356 commit a711fb7

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

status_list/status_list/v1_0/status_handler.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
from acapy_agent.admin.request_context import AdminRequestContext
2020
from acapy_agent.core.profile import ProfileSession
2121
from acapy_agent.storage.error import StorageNotFoundError
22-
from acapy_agent.wallet.util import bytes_to_b64
22+
from acapy_agent.wallet.util import bytes_to_b64, unpad
2323
from bitarray import bitarray
2424
from filelock import FileLock, Timeout
2525

@@ -443,14 +443,16 @@ async def get_status_list(
443443
status_bits = bitarray()
444444
for shard in shards:
445445
status_bits.extend(shard.status_bits)
446-
447-
bit_bytes = status_bits.tobytes()
446+
bit_bytes = b""
448447
if definition.list_type == "ietf":
448+
status_bits = bitarray(status_bits, endian="little")
449+
bit_bytes = status_bits.tobytes()
449450
bit_bytes = zlib.compress(bit_bytes)
450451
elif definition.list_type == "w3c":
452+
bit_bytes = status_bits.tobytes()
451453
bit_bytes = gzip.compress(bit_bytes)
452454
base64 = bytes_to_b64(bit_bytes, True)
453-
encoded_list = base64.rstrip("=")
455+
encoded_list = unpad(base64)
454456

455457
public_uri = config.public_uri.format(
456458
tenant_id=wallet_id,

0 commit comments

Comments
 (0)