Python X.509 非对称加密
我正在尝试理解证书和非对称加密是怎么回事。我在找一个Python库,可以让我导入公钥或私钥的CA签名证书,并自动加密或解密字符串格式的消息。我查看了Python自带的crypto库,但我不知道如何使用证书中的十六进制模数和指数:
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:b4:31:98:0a:c4:bc:62:c1:88:aa:dc:b0:c8:bb:
33:35:19:d5:0c:64:b9:3d:41:b2:96:fc:f3:31:e1:
66:36:d0:8e:56:12:44:ba:75:eb:e8:1c:9c:5b:66:
70:33:52:14:c9:ec:4f:91:51:70:39:de:53:85:17:
16:94:6e:ee:f4:d5:6f:d5:ca:b3:47:5e:1b:0c:7b:
c5:cc:2b:6b:c1:90:c3:16:31:0d:bf:7a:c7:47:77:
8f:a0:21:c7:4c:d0:16:65:00:c1:0f:d7:b8:80:e3:
d2:75:6b:c1:ea:9e:5c:5c:ea:7d:c1:a1:10:bc:b8:
e8:35:1c:9e:27:52:7e:41:8f
Exponent: 65537 (0x10001)
有没有人能帮我一下?
谢谢
1 个回答
3
M2Crypto 是一个非常完整的 Python 库,它是用来和 OpenSSL 这个工具配合使用的。这个库支持很多功能,比如 RSA、DSA、DH 加密算法,还有 HMAC、消息摘要,以及对称加密(像 AES 这样的)。它还可以用来实现客户端和服务器的 SSL 功能,支持 HTTPS 的扩展,能和 Python 的 httplib、urllib 和 xmlrpclib 一起使用。此外,它还可以生成不可伪造的 HMAC AuthCookies,用于管理网页会话。M2Crypto 还支持 FTP/TLS 客户端和服务器,S/MIME 电子邮件加密,以及 ZServerSSL(一个 Zope 的 HTTPS 服务器)和 ZSmime(一个 Zope 的 S/MIME 消息工具)。M2Crypto 还可以用来为 Twisted 提供 SSL 支持。
如果你想看看如何加载和操作 PKI
密钥,可以查看测试源代码,链接在这里:test_rsa.py
。这个测试源代码目录里有一些 .pem
格式的密钥,代码会用到这些密钥。