Найти - Пользователи
Полная версия: ValueError: type argument must be FILETYPE_PEM or FILETYPE_ASN1
Начало » Python для новичков » ValueError: type argument must be FILETYPE_PEM or FILETYPE_ASN1
1
AndrewMelnyk
Что я делаю не так?

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
FishHook
AndrewMelnyk
Что я делаю не так?
Вы почему-то решили, что FILETYPE_PEM это строковой литерал. Это константа, найдите её в пакете, скорее всего что-то типа
 OpenSSL.crypto.load_certificate(type=OpenSSL.crypto.FILETYPE_PEM, buffer=...)
AndrewMelnyk
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-----
FishHook
AndrewMelnyk
Спасибо, но теперь выдает другую ошибку

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

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

что вы должны туда передать сам сертификат в виде строки или буфера. То есть вам надо прочитать файл соответсвующими стредствами питона в строку, и эту строку уже скармливать в функцию
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB