Skip to content

Commit 719e3bf

Browse files
committed
fix: private key handling
1 parent bd2d133 commit 719e3bf

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

pymdoccbor/mdoc/issuer.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,14 @@ def __init__(
4343
):
4444
self.version: str = "1.0"
4545
self.status: int = 0
46-
if private_key and isinstance(private_key, dict):
47-
self.private_key = CoseKey.from_dict(private_key)
46+
47+
if private_key:
48+
if isinstance(private_key, dict):
49+
self.private_key = CoseKey.from_dict(private_key)
50+
elif isinstance(private_key, CoseKey):
51+
self.private_key = private_key
52+
else:
53+
raise ValueError("private_key must be a dict or CoseKey object")
4854

4955
self.signed: dict = {}
5056
self.key_label = key_label
@@ -69,7 +75,7 @@ def new(
6975
"""
7076
if isinstance(devicekeyinfo, dict):
7177
devicekeyinfo = CoseKey.from_dict(devicekeyinfo)
72-
elif isinstance(devicekeyinfo, str):
78+
if isinstance(devicekeyinfo, str):
7379
device_key_bytes = base64.urlsafe_b64decode(devicekeyinfo.encode("utf-8"))
7480
public_key = serialization.load_pem_public_key(device_key_bytes)
7581
curve_name = public_key.curve.name

0 commit comments

Comments
 (0)