Уведомления

Группа в Telegram: @pythonsu

#1 Июль 25, 2019 17:43:41

AndrewMelnyk
Зарегистрирован: 2019-06-15
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

ValueError: type argument must be FILETYPE_PEM or FILETYPE_ASN1

Что я делаю не так?

import OpenSSL

OpenSSL.crypto.load_certificate(type='FILETYPE_PEM' ,buffer='/Users/MillerProduction/Desktop/certificate.pem')

ошибка
Traceback (most recent call last):
File "/Users/MillerProduction/Documents/coding/python/kanboard_tgbot/test2.py", line 5, in <module>
OpenSSL.crypto.load_certificate(type='FILETYPE_PEM' ,buffer='/Users/MillerProduction/Desktop/certificate.pem')
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/OpenSSL/crypto.py", line 1834, in load_certificate
"type argument must be FILETYPE_PEM or FILETYPE_ASN1")
ValueError: type argument must be FILETYPE_PEM or FILETYPE_ASN1

Офлайн

#2 Июль 25, 2019 18:13:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

ValueError: type argument must be FILETYPE_PEM or FILETYPE_ASN1

AndrewMelnyk
Что я делаю не так?
Вы почему-то решили, что FILETYPE_PEM это строковой литерал. Это константа, найдите её в пакете, скорее всего что-то типа
 OpenSSL.crypto.load_certificate(type=OpenSSL.crypto.FILETYPE_PEM, buffer=...)



Офлайн

#3 Июль 25, 2019 18:29:37

AndrewMelnyk
Зарегистрирован: 2019-06-15
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

ValueError: type argument must be FILETYPE_PEM or FILETYPE_ASN1

FishHook


Спасибо, но теперь выдает другую ошибку
Помогите, пожалуйста, сегодня на работе целый день голову с этим ломаю ((((

ошибка
OpenSSL.crypto.Error: [('PEM routines', 'get_name', 'no start line')]

текст файла .pem. Без первой строчки и без “—–BEGIN/END CERTIFICATE—–” тоже пробовал
Key format: PEM

-----BEGIN CERTIFICATE-----
MIIEqDCCA5CgAwIBAgIUI+tcb2ZSNst1E6GYiQgDuI5HzMMwDQYJKoZIhvcNAQEL
...
Y/LJuhGXkOtnoKtScz9CU4mXugAvE4jae/jyUxf7i/7vmK9EXIoTO594EjY=
-----END CERTIFICATE-----

Офлайн

#4 Июль 26, 2019 09:05:09

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

ValueError: type argument must be FILETYPE_PEM or FILETYPE_ASN1

AndrewMelnyk
Спасибо, но теперь выдает другую ошибку

Повнимательнее читайте документацию. Вы передаете в функцию имя файла, но вот тут очевидно

https://www.pyopenssl.org/en/stable/api/crypto.html#OpenSSL.crypto.load_certificate

что вы должны туда передать сам сертификат в виде строки или буфера. То есть вам надо прочитать файл соответсвующими стредствами питона в строку, и эту строку уже скармливать в функцию



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version