我在調試需要使用公鑰來簽署證書的django/python應用程序時遇到困難。 1.我使用下面的命令無法加載公鑰
openssl rsa -pubout -in ~/.ssh/id_rsa > samplePEMKey.pub
的關鍵是下面
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA8K/LfOBi+QrINSseqWwc
JGo4uE49Dc42zF2Jwbmc6iXIln8AWX5M+yn15dYOXzbHGbopH8bpF9CsJ/DPHg87
D1At1XwAy5aR5w7pXE//5p/saW50Sm/eY6Nugs9hgAXUTcMMAEXCIG17dLoUzhwE
YdzuPm350h39bTmI7Fz95koTbsKJUi+6337GJ3cWKxMBkEmWvpGo4Nko01xtEnUZ
GweKexr1roE8jZPpzuNeUy+S5tvH5emyBIBdroBVxBtz1OUIoP0oAOrQ5RtRPAcT
TsSWjMtyF2gO5GxeMErRqnLAtWJs4QlaJacVnMMTAgRjrGkUZdsqngM/fjQXfeZV
SwIDAQAB
-----END PUBLIC KEY-----
給我在Python應用程序我使用OpenSSL和嘗試加載所創建的PEM格式的鑰匙從我的私有密鑰鍵使用
pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, samplePEMKey)
當運行django應用程序時,我在上面的行得到以下錯誤。
Request Method: POST
Request URL: http://127.0.0.1:8000/snapshotuploader/single/
Django Version: 1.3.1
Exception Type: Error
Exception Value:
[('PEM routines', 'PEM_read_bio', 'no start line')]
以下是我從文件
file_path = '/home/XXXX/co/certserver/LicenseServer/home_folder/dldl/samplePEMKey.pub'
try:
fin = open(file_path, 'r')
except IOError:
return HttpResponse('IO Error opening uploaded file.')
try:
samplePEMKey = fin.read()
fin.close()
except IOError:
return HttpResponse('IO Error reading uploaded file.')
閱讀公鑰欣賞解決這個問題的任何幫助。提前致謝。
至少'Crypto.Cipher.RSA.importKey( )'用你提供的密鑰與pycrypto-2.5一起工作,所以密鑰本身應該沒有問題。你如何讀取'samplePEMKey'變量的關鍵字? – Kimvais 2012-03-31 06:45:52
FILE_PATH = '/home/XXXX/co/certserver/LicenseServer/home_folders/dldl/samplePEMKey.pub' \t 打印pubKeyFile 嘗試: 鰭=開放(FILE_PATH, 'R') 除了IO錯誤: 返回的HttpResponse( 'IO錯誤打開上傳的文件。') 嘗試: PUBKEY = fin.read() fin.close() 除了IO錯誤: 返回的HttpResponse( 'IO讀取錯誤上傳文件。') – 2012-03-31 07:01:01
請編輯您的問題添加相關的代碼 - 也''pubKey'!='samplePEMKey' – Kimvais 2012-03-31 07:10:09