laojun001 发表于 2025-3-6 13:48

pubkey.py

# 示例PEM格式的公钥字符串
public_key_pem = """
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzG9N1R+...
...(省略中间的公钥内容)
...AQAB
-----END PUBLIC KEY-----
"""

# 定义公钥变量
public_key = public_key_pem

# 使用公钥(具体用法取决于你要做什么,例如验证签名)
# 下面的例子使用了cryptography库来加载公钥
from cryptography.hazmat.primitives import serialization
from cryptography.hazmat.backends import default_backend

def load_public_key_from_pem(pem_data):
    try:
      public_key = serialization.load_pem_public_key(
            pem_data.encode(),# 需要将字符串转为字节
            backend=default_backend()
      )
      return public_key
    except Exception as e:
      print(f"Failed to load public key: {e}")
      return None

# 加载公钥
loaded_public_key = load_public_key_from_pem(public_key)

# 现在你可以使用loaded_public_key来进行操作,例如验证签名
# (以下示例为假设性的用法,实际使用时需结合具体上下文)
# signature = b'...'# 这是你要验证的签名
# data = b'...'       # 这是你签名时使用的数据
# try:
#   loaded_public_key.verify(
#         signature,
#         data,
#         padding.PSS(
#             mgf=padding.MGF1(algorithm=hashes.SHA256()),
#             salt_length=padding.PSS.MAX_LENGTH
#         ),
#         hashes.SHA256()
#   )
#   print("Signature is valid.")
# except InvalidSignature:
#   print("Signature is invalid.")
页: [1]
查看完整版本: pubkey.py