Python和Django如何使用证书加密
这是我的问题:
我想用一个证书来加密数据……之前我使用了以下命令:
openssl rsautl -encrypt -in inputfile -out inputfile.enc -inkey SanitelCF.cer -certin -pkcs
openssl base64 -base64 -e -in inputfile.enc -out inputfile.enc.b64
这些命令可以正常工作!但是我想用Python(Django)来实现这个功能。
有没有人能告诉我该怎么做?
谢谢!
附:这是我使用的证书(SanitelCF.cer)
-----BEGIN CERTIFICATE-----
MIIDxjCCAq6gAwIBAgIDBDYUMA0GCSqGSIb3DQEBBQUAMG0xCzAJBgNVBAYTAklU
MR4wHAYDVQQKExVBZ2VuemlhIGRlbGxlIEVudHJhdGUxGzAZBgNVBAsTElNlcnZp
emkgVGVsZW1hdGljaTEhMB8GA1UEAxMYQ0EgQWdlbnppYSBkZWxsZSBFbnRyYXRl
MB4XDTA0MDkzMDA3NDkyN1oXDTA3MDkzMDIzNTkwMFowXjELMAkGA1UEBhMCSVQx
HjAcBgNVBAoTFUFnZW56aWEgZGVsbGUgRW50cmF0ZTEbMBkGA1UECxMSU2Vydml6
aSBUZWxlbWF0aWNpMRIwEAYDVQQDEwlTYW5pdGVsQ0YwgZ8wDQYJKoZIhvcNAQEB
BQADgY0AMIGJAoGBANQfl8dJ65QsUGAIRviObyQPA2AYBpxgVjTimrn+B9C9YUSz
6bbZv83ZX5dMYb368G6zsJhvZvoqVZQGofz5psc9HzXNAtZ9BqaZfFQ1JJmdenar
RSsTdPWXuJrkktAMQ10hEo1By2fG2oy1f934idprxOvcoxsO6tqSF8W9MtHvAgMB
AAGjggEAMIH9MB8GA1UdIwQYMBaAFK3XFXNahghrjlp8dsPeGaVrG7ONMA4GA1Ud
DwEB/wQEAwIEMDAdBgNVHQ4EFgQUk40paPskEoq8te6R8PK19/Bb02AwgaoGA1Ud
HwSBojCBnzCBnKCBmaCBloaBk2xkYXA6Ly9jYWRzLmVudHJhdGUuZmluYW56ZS5p
dC9jbj1DQSUyMEFnZW56aWElMjBkZWxsZSUyMEVudHJhdGUsb3U9U2Vydml6aSUy
MFRlbGVtYXRpY2ksbz1BZ2VuemlhJTIwZGVsbGUlMjBFbnRyYXRlLGM9aXQ/Y2Vy
dGlmaWNhdGVyZXZvY2F0aW9ubGlzdDANBgkqhkiG9w0BAQUFAAOCAQEAQkhcWTWr
0okM3DRlMaj+u0ojKuS5Co3jItFHlKe4wUKD3eEHMJtvDn5IPmAfoUBNyAyvK9cb
jziHMtwsRuTKwrNoFrU1Wxr3DjuPRyY7Eaaf2sLlm2dHFc7Rcog2qfl7G50OA+9y
3lu0IkqL23Wyeir6yqD3R4hOYfN9U2+l0WfSqwj3GGH/cJMudjer2zW5wXBd2jG/
1kwuZ39oNYH8WX0yeFiA20Bmm+mEU5UGhaQJgg9eQpznQ+EKCXMnOQzXG/rX8MTk
iu4FvYKV2zlNZDeA+pFXoGeqaEwSCXF5kBFQTOjw8F5vc6zRDlc4vD+38Rceg1nV
X+6REYbKWLiJbQ==
-----END CERTIFICATE-----
1 个回答
2
在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。这些问题可能会让我们感到困惑,尤其是当我们刚开始学习编程的时候。比如,有人可能会在使用某个特定的功能时,发现它的表现和预期的不一样。这时候,了解这个功能的工作原理就显得特别重要。
为了更好地理解这些问题,我们可以查看一些常见的错误信息或者使用的代码示例。这些信息通常会帮助我们找到解决方案,或者至少让我们明白问题出在哪里。
总之,编程的学习过程就是不断尝试、遇到问题、解决问题的过程。不要害怕犯错,因为每一次错误都是一次学习的机会。
first
i can get the public key by you cert files
the public key is save t.pub
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDUH5fHSeuULFBgCEb4jm8kDwNg
GAacYFY04pq5/gfQvWFEs+m22b/N2V+XTGG9+vBus7CYb2b6KlWUBqH8+abHPR81
zQLWfQammXxUNSSZnXp2q0UrE3T1l7ia5JLQDENdIRKNQctnxtqMtX/d+Inaa8Tr
3KMbDurakhfFvTLR7wIDAQAB
-----END PUBLIC KEY-----
next;
run the command: sudo apt-get install python-M2Crypto
the end python code is:
from M2Crypto import RSA,BIO
pub_bio = BIO.MemoryBuffer()
tt=file("t.pub").read()
pub_bio.write(tt)
pub_key = RSA.load_pub_key_bio(pub_bio)
message = 'hello word'
encrypted = pub_key.public_encrypt(message, RSA.pkcs1_padding)
print encrypted