2

証明書の署名に公開鍵を使用する必要がある django/python アプリケーションのデバッグに問題があります。1. 次のコマンドを使用して、秘密鍵から PEM 形式の鍵を作成しました

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を使用しており、次を使用してキーをロードしようとしています

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.') 

この問題を解決するための助けに感謝します。前もって感謝します。

4

1 に答える 1