summaryrefslogtreecommitdiffstats
path: root/lang/python/python-rsa/test.sh
blob: 95dec0e9b0514d83b6020d4bd099624c05e5fa9e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh

[ "$1" = python3-rsa ] || exit 0

python3 - << 'EOF'

import rsa

# Generate keys
(pub, priv) = rsa.newkeys(512)

# Sign and verify
message = b"Hello OpenWrt"
signature = rsa.sign(message, priv, "SHA-256")
verified = rsa.verify(message, signature, pub)
assert verified == "SHA-256", f"expected SHA-256, got {verified}"

# Encrypt and decrypt
encrypted = rsa.encrypt(message, pub)
decrypted = rsa.decrypt(encrypted, priv)
assert decrypted == message, f"decryption failed"

EOF