Я пытаюсь внедрить Google Identity Toolkit (gitkitv3) в GAE Python. После того, как пользователь входит на сайт, я получаю следующие ошибки:
'PKCS12 format is not supported by the PyCrpto library. '
NotImplementedError: PKCS12 format is not supported by the PyCrpto library. Try converting to a "PEM" (openssl pkcs12 -in xxxxx.p12 -nodes -nocerts > privatekey.pem) or using PyOpenSSL if native code is an option.
Основываясь на ответе SO, я выполнил следующие команды в своем файле x.p12 и вместо этого использовал сгенерированный файл privatekey.pem. :
openssl pkcs12 -passin pass:notasecret -in x.p12 -nocerts -passout pass:notasecret -out key.pem
openssl pkcs8 -nocrypt -in key.pem -passin pass:notasecret -topk8 -out privatekey.pem
Теперь я получаю следующую ошибку:
'X509 certs are not supported by the PyCrypto library. '
NotImplementedError: X509 certs are not supported by the PyCrypto library. Try using PyOpenSSL if native code is an option.
Я загрузил x.p12 из консоли разработчика Google. Как исправить эту ошибку? Пожалуйста помоги
КАКОЕ РЕШЕНИЕ?
Мне обязательно нужен этот файл .p12 или я могу скопировать его содержимое в глобальную переменную и использовать его (как обходной путь)? Может ли кто-нибудь объяснить мне фактическое использование этого файла?
ОБНОВЛЕНИЕ
Похоже, что библиотека PyCrypto, предоставляемая Google, крайне ограничена и не поддерживает X509.
NotImplementedError: PKCS12 format is not supported by the PyCrpto library..
- person gsinha   schedule 30.08.2014openssl pkcs12 -clcerts -nokeys -in mycert.p12 -out usercert.pem
? Можете ли вы разместить сертификат где-нибудь? - person SquareRootOfTwentyThree   schedule 01.09.2014openssl pkcs12 -in <key.p12> -nocerts -passin pass:notasecret -nodes -out <key.pem>
key.pem:Bag Attributes friendlyName: privatekey localKeyID: 54 69 6D 65 20 31 34 30 31 32 33 34 35 36 37 38 39 30 Key Attributes: <No Attributes> -----BEGIN PRIVATE KEY----- lots_of_characters_present_here_replaced_for_this_post= -----END PRIVATE KEY-----
Затем я удалил первые 4 строки файла .pem. Окончательный .pem выглядит так:-----BEGIN PRIVATE KEY----- lots_of_characters_are_present_here_which_i_have_replaced_for_this_post= -----END PRIVATE KEY-----
- person gsinha   schedule 02.09.2014openssl pkcs12 -clcerts -nokeys -in myapp-36.p12 -out usercert.pem
. Сгенерированный сертификат можно увидеть здесь (заменены конфиденциальные данные). Я попробовал и получил эту ошибку. Затем я удалил все до -----BEGIN PRIVATE KEY----- и попробовал еще раз. Новый сертификат находится здесь. На этот раз я получил эту ошибку. - person gsinha   schedule 02.09.2014