这是我的问题:
我想用证书加密数据......在我使用这些命令之前
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)
来做这件事有人能解释我怎么做吗?
谢谢!
ps:这是我使用的证书(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-----
答案 0 :(得分:1)
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