Install & Compatibility
Where this runs
No compatibility data collected yet for this library.
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
CoseMessage
✓ from cose.messages import CoseMessage
Correct import path.
CoseKey
✓ from cose.keys import CoseKey
Correct import path.
EncryptMessage
✓ from cose.messages import EncryptMessage
✗ from cose import EncryptMessage
Common mistake: top-level import fails because EncryptMessage is in the messages submodule.
Create a simple EC2 key. For real use, provide proper key material.
from cose.keys import CoseKey
from cose.keys.keyparam import KpKty, KpAlg, KpKeyOps
from cose.keys.keytype import KtyEC2
from cose.keys.keyops import SignOp, VerifyOp, EncryptOp, DecryptOp
from cose.algorithms import Es256
from cose.messages import EncryptMessage, SignMessage
from cose.headers import Algorithm, ContentType
# Create an EC2 key for signing
import os
private_key_bytes = os.urandom(32) # dummy for demo
key = CoseKey.from_dict({
'kty': KtyEC2,
'crv': 'P-256',
'x': os.urandom(32),
'y': os.urandom(32),
'd': private_key_bytes,
'alg': Es256,
})
print(f"Created key: {key}")
Errors
Common errors & fixes
ImportError: cannot import name 'EncryptMessage' from 'cose'
Trying to import from top-level package instead of submodule.
fixUse: from cose.messages import EncryptMessage
AttributeError: module 'cose' has no attribute 'CoseKey'
CoseKey is in cose.keys, not in top-level cose.
fixUse: from cose.keys import CoseKey
KeyError: 'kty'
Passing a dict with string keys instead of using the library's enum types.
fixUse library types like KtyEC2 instead of strings: key = CoseKey.from_dict({'kty': KtyEC2, ...}) Upgrade
Version history
0.9.dev8latest on PyPI · released Jul 1, 2021
Audit
Dependencies
No dependency data recorded yet.