# 示例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.") |