标签: pyopenssl

安装pyopenssl时遇到cffi.ffiplatform.VerificationError

我正在使用Ubuntu 14.04.我试图在我的机器上安装pyopenssl.但是这个信息总是失败.我在谷歌搜索它但没有找到任何解决方案:

gcc -pthread -shared /tmp/pip_build_pi314/cryptography/cryptography/hazmat/bindings/__pycache__/cryptography/hazmat/bindings/__pycache__/_Cryptography_cffi_79a5b0a3x3a8a382.o -L/home/pi314/anaconda/lib -lcrypto -lssl -lpython2.7 -o /tmp/pip_build_pi314/cryptography/cryptography/hazmat/bindings/__pycache__/_Cryptography_cffi_79a5b0a3x3a8a382.so

Traceback (most recent call last):

File "/tmp/pip_build_pi314/cryptography/setup.py", line 88, in finalize_options

self.distribution.ext_modules = get_ext_modules()

File "/tmp/pip_build_pi314/cryptography/setup.py", line 68, in get_ext_modules

OpenSSLBinding().ffi.verifier.get_extension(),

File "cryptography/hazmat/bindings/openssl/binding.py", line 89, in __init__

self._ensure_ffi_initialized()

File "cryptography/hazmat/bindings/openssl/binding.py", line 109, in _ensure_ffi_initialized

libraries=libraries,

File "cryptography/hazmat/bindings/utils.py", line 80, in build_ffi

extra_link_args=extra_link_args,

File "/tmp/pip_build_pi314/cryptography/cffi-0.8.6-py2.7-linux-x86_64.egg/cffi/api.py", line 340, in verify

lib = self.verifier.load_library()

File "/tmp/pip_build_pi314/cryptography/cffi-0.8.6-py2.7-linux-x86_64.egg/cffi/verifier.py", line 75, in load_library

return self._load_library()

File "/tmp/pip_build_pi314/cryptography/cffi-0.8.6-py2.7-linux-x86_64.egg/cffi/verifier.py", line 151, in _load_library

return self._vengine.load_library()

File …
Run Code Online (Sandbox Code Playgroud)

python pyopenssl

1
推荐指数
1
解决办法
3654
查看次数

从证书中获取主题密钥标识符

是否可以使用 python 从现有证书中提取主题密钥标识符

我试过类似的东西:

from OpenSSL.crypto import load_certificate, FILETYPE_PEM

cert_string='-----BEGIN CERTIFICATE--...'
certificate=load_certificate(FILETYPE_PEM, plain_cert)
subject=certificate.get_subject()
Run Code Online (Sandbox Code Playgroud)

但它返回证书的主题。似乎证书对象不提供主题密钥标识符的功能。还有其他选择吗?

python cryptography certificate pyopenssl

1
推荐指数
1
解决办法
2279
查看次数

pyOpenSSL的PKCS7对象提供的信息很少,如何获得签名中公钥的sha1摘要

我想用Python解析android apk的CERT.RSA。我知道可以用pyOpenSSL解析

import OpenSSL
Run Code Online (Sandbox Code Playgroud)

cert = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_ASN1,open('CERT.RSA','rb')。read())

cert = OpenSSL.crypto.load_pkcs7_data(type, buffer)
Run Code Online (Sandbox Code Playgroud)

证书的类型为“ OpenSSL.crypto.PKCS7”。

但是现在PKCS7对象不完整,我无法获取所需的属性,是否有其他方法可以解析该文件?

python android cryptography pyopenssl pkcs#7

1
推荐指数
1
解决办法
1225
查看次数

如何在Ubuntu中将OpenSSL从1.0.2g升级到1.1.0g并让python识别新的OpenSSL

我有Ubuntu 16.04。它有OpenSSL 1.0.2g。我需要使用OpenSSL 1.1.0g。请注意,OpenSSL 1.1.0g已安装在另一台计算机上Ubuntu 18。但是我需要在其中运行python程序,Ubuntu 16.04但需要特定的OpenSSL 1.1.0g。我做了:

sudo apt-get upgrade
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

但是OpenSSL在我的Ubuntu机器上没有更新。我该如何更新?

我使用Python socket, ssl模块,以使端口443威尔蟒蛇TLS连接会自动识别OpenSSL 1.1.0g,如果我更新了老OpenSSL 1.0.2gOpenSSL 1.1.0g

升级的原因OpenSSL是我需要运行python程序ssl socket,但我需要使用该程序OpenSSL 1.1.0g

当我尝试:

sudo apt-get install openssl
Run Code Online (Sandbox Code Playgroud)

并通过以下方式检查OpenSSL版本:openssl version -a 我得到了旧版本OpenSSL 1.0.2g

请问如何OpenSSL 1.1.0g在我的Ubuntu 14.06机器上获得新版本?

ssl openssl pyopenssl tls1.2 ubuntu-16.04

1
推荐指数
1
解决办法
1万
查看次数

尽管升级到Python 2.7,Python仍然使用TLSv1或TLSv1.1请求库

我想确保在使用请求库发布到HTTP服务器时,它会拒绝使用TLSv1或TLSv1.1进行通信.为此,我配置了我的https服务器以强制SSL协议使用TLSv1或TLSv1.1.我希望这些版本被拒绝.

我的python程序在CentOs机器上运行:

cat /etc/centos-release
CentOS release 6.7 (Final)
Run Code Online (Sandbox Code Playgroud)

默认的Python版本是2.6.6:

which python
/usr/bin/python
Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Run Code Online (Sandbox Code Playgroud)

我安装了python 2.7:

which python2.7
/usr/local/bin/python2.7
Python 2.7.6 (default, Jun  2 2017, 11:37:31) 
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.1e-fips 11 Feb 2013'

openssl version
OpenSSL 1.0.1e-fips 11 Feb 2013
Run Code Online (Sandbox Code Playgroud)

使用pip2.7,我安装了所需的库以获取运行请求.我没有对openssl做任何改动.

我发送了两个测试警报,似乎我的程序协商到TLSv1.我的印象是TLSv1已被弃用.该程序使用python 2.7执行,而不是python 2.6的系统默认值.

在我嵌入的python程序的顶部:#!/ usr/local/bin/python2.7

以下是显示TLSv1.1和TLSv1的2个帖子警报:

"POST /testpost HTTP/1.1" 200 43 TLSv1.1/ECDHE-RSA-AES256-SHA "-" "python-requests/2.5.1 CPython/2.6.6 …
Run Code Online (Sandbox Code Playgroud)

python pyopenssl python-requests tls1.2

0
推荐指数
1
解决办法
4534
查看次数