Change in pysim[master]: fix TypeError in derive_milenage_opc()

laforge gerrit-no-reply at lists.osmocom.org
Fri Mar 5 17:41:00 UTC 2021


laforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/pysim/+/23258 )


Change subject: fix TypeError in derive_milenage_opc()
......................................................................

fix TypeError in derive_milenage_opc()

In 4f6ca43e1f6726f00cfc91ff6d17db6878316c4d we started to use
the bytearray type as 'b' type, but PyCrypto insists on getting
a bytearray type.

This fixes the following Exception:
TypeError: argument 1 must be read-only bytes-like object, not bytearray

Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced
Closes: OS#5060
---
M pySim/utils.py
1 file changed, 5 insertions(+), 3 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/pysim refs/changes/58/23258/1

diff --git a/pySim/utils.py b/pySim/utils.py
index 5320b59..2d77f0f 100644
--- a/pySim/utils.py
+++ b/pySim/utils.py
@@ -244,9 +244,11 @@
 	from pySim.utils import b2h
 
 	# We pass in hex string and now need to work on bytes
-	aes = AES.new(h2b(ki_hex))
-	opc_bytes = aes.encrypt(h2b(op_hex))
-	return b2h(strxor(opc_bytes, h2b(op_hex)))
+	ki_bytes = bytes(h2b(ki_hex))
+	op_bytes = bytes(h2b(op_hex))
+	aes = AES.new(ki_bytes)
+	opc_bytes = aes.encrypt(op_bytes)
+	return s2h(strxor(opc_bytes, op_bytes))
 
 def calculate_luhn(cc):
 	"""

-- 
To view, visit https://gerrit.osmocom.org/c/pysim/+/23258
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: If2a727ed417ffd56c0f7d7b4e9f633d67fde5ced
Gerrit-Change-Number: 23258
Gerrit-PatchSet: 1
Gerrit-Owner: laforge <laforge at osmocom.org>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210305/fbb74a54/attachment.htm>


More information about the gerrit-log mailing list