5

そのため、JIRA-Python モジュールを使用して JIRA 上の会社のインスタンスに接続していますが、これには証明書とキーを渡す必要があります。ただし、OpenSSL モジュールを使用すると、ローカル証明書とキーを読み取ってリクエストに渡すことができません。

読み取り用のコードは以下のとおりです

import OpenSSL.crypto 
c = open('/Users/mpadakan/.certs/mpadakan-blr-mpsot-20160704.crt').read()
cert = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, c)

私が得るエラーは

Traceback (most recent call last):
File "flaskApp.py", line 19, in <module>
cert = OpenSSL.crypto.dump_certificate(OpenSSL.crypto.FILETYPE_PEM, c)
TypeError: must be X509, not str

ローカルの .crt および .key ファイルを x509 オブジェクトに読み込む方法を誰か教えてもらえませんか?

4

2 に答える 2

1

ファイルの形式.crt。ある:

  1. で始まるテキスト-----BEGIN CERTIFICATE-----
  2. MIcharで始まる base64 テキスト
  3. \x30バイトで始まるバイナリデータ?

最初の 2 つのケースでは PEM 形式がありますが、2 番目のケースでは開始行が欠落しています。それを追加して正しい PEM ファイルを取得するか、ファイルをバイナリに変換しbase64て 3 番目のケースを取得します。

3 番目のケースでは DER 形式なので、それをロードするには使用する必要がありますOpenSSL.crypto.FILETYPE_ASN1

于 2016-08-30T14:51:43.223 に答える