在这篇文章中,我们将带领您了解如何在python中导入OpenSSL的全貌,包括如何在Python中导入库的相关情况。同时,我们还将为您介绍有关iOS中,导入openssl静态库配置路径,自己创建.p
在这篇文章中,我们将带领您了解如何在python中导入OpenSSL的全貌,包括如何在Python中导入库的相关情况。同时,我们还将为您介绍有关iOS中,导入openssl静态库配置路径,自己创建.pch文件、解决openssl/rsa.h、pyopenssl - 下列有关openSSL的PHP代码,如果用Python实现?、python 安装 scrapy,openssl opensslv.h 错误的解决办法、python-2.7 – 如何在python中保存3D数组并在mathematica中导入它的知识,以帮助您更好地理解这个主题。
本文目录一览:- 如何在python中导入OpenSSL(如何在Python中导入库)
- iOS中,导入openssl静态库配置路径,自己创建.pch文件、解决openssl/rsa.h
- pyopenssl - 下列有关openSSL的PHP代码,如果用Python实现?
- python 安装 scrapy,openssl opensslv.h 错误的解决办法
- python-2.7 – 如何在python中保存3D数组并在mathematica中导入它
如何在python中导入OpenSSL(如何在Python中导入库)
我正在尝试运行以下简单代码来检索SSL证书:
import ssl,socket
#print ssl.get_server_certificate(('www.google.com',443))
cert=ssl.get_server_certificate(('www.google.com',443))
# OpenSSL
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM,cert)
x509.get_subject().get_components()
但我收到错误消息:
Traceback (most recent call last):
File "C:\Users\e\Desktop\Python\ssl\test.py",line 6,in <module>
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM,cert)
NameError: name 'OpenSSL' is not defined
我知道我必须导入OpenSSL。但是我不知道怎么做?以及从哪里获得OpenSSL?我从https://pypi.python.org/pypi/pyOpenSSL下载了一个名为pyOpenSSL的模块,
其中包含两个文件夹:pyOpenSSL-0.15.1.dist-
info和OpenSSL。当我尝试添加导入OpenSSL或导入pyOpenSSL时,出现错误。您能否清楚说明,如何导入这些库或模块?他们应该放在哪里?如果不在我的代码文件的同一目录中?如何在导入语法中编写路径?请帮忙。
编辑: 当试图添加from OpenSSL import SSL
代码时,我得到了:
C:\Users\e\Desktop\Python\ssl>test.py
Traceback (most recent call last):
File "C:\Users\e\Desktop\Python\ssl\test.py",line 2,in <module>
from OpenSSL import SSL
File "C:\Users\e\Desktop\Python\ssl\OpenSSL\__init__.py",line 8,in <module>
from OpenSSL import rand,crypto,SSL
File "C:\Users\e\Desktop\Python\ssl\OpenSSL\rand.py",line 9,in <module>
from six import integer_types as _integer_types
ImportError: No module named six
iOS中,导入openssl静态库配置路径,自己创建.pch文件、解决openssl/rsa.h
至于openssl的库编译生成,我这边就不讲了,网上教程很多,同时openssl这种库,支付宝SDK就可以找到,你想自己编译一个也可以,网上下载也可以!今天只讲用法,解决问题!
废话不多说,直接上图,新建个工程!
将两个静态库导入进来!
将所需要的头文件拖进来!
这个时候突然出现nsobject,不见了,没有申明,也就是说这里需要包含<uikit/UIKit.h>和<UIFountion/Fountion.h>文件,这时候创建一个.pch文件把!我是这样做的
在pch文件中添加,我要全局共享的东西!
设置。pch的路径,这点很重要,一定要抓准路径!
这个时候,其他错误没有了,出现了找不到头文件的错误!也就是说openssl库我们没有编译对!
我们需要设置一下,头文件的路径!
注:官方文档说需要 对“Header Search Paths”增加头文件路径:$(SRCROOT)/项目名 称
照着做了还是出现 openssl rsa.h file not found ,后来百度了很多地方都没有找到能解决的方法。
后来突然回想起# include<>跟# include""的区别后,终于找到原因了。
比如 我把openssl这个文件导入到了这个工程目录下 :项目名称/公共类/工具&第三方/支付宝SDK/openssl ,中间隔了三个文件夹,
那么在Header Search Paths 的设置就得改为 $(SRCROOT)/项目名 称/公共类/工具&第三方/支付宝SDK,问题就解决了
再反过来看官方的demo,原来他们把openssl这个文件放到了项目根目录下,所以“Header Search Paths”只需要设置$(SRCROOT)/项目名称
成功了,可以使用openssl 的库了,
看完点个赞,点个关注再走,一点不给力
如果我的文档对您有帮助,麻烦关注一下我的公
众微信号,每天学一点,开发更轻松!
pyopenssl - 下列有关openSSL的PHP代码,如果用Python实现?
function getCertId($cert_path) { $pkcs12certdata = file_get_contents ( $cert_path ); openssl_pkcs12_read ( $pkcs12certdata, $certs, SDK_SIGN_CERT_PWD ); $x509data = $certs [''cert'']; openssl_x509_read ( $x509data ); $certdata = openssl_x509_parse ( $x509data ); $cert_id = $certdata [''serialNumber'']; return $cert_id; }
我写了个
''''''解析pfx格式的证书ID,这里针对的是签名证书'''''' def getCertIdWithPFX(cert_path): fp = open(cert_path, ''r'') if not fp: raise Exception(''open %s fail!!!'' % cert_path) pkcs12certdata = fp.read() ''''''先解析pkcs12格式'''''' sdk_sign_cert_password = config[''sdk_sign_cert_password''] certs = OpenSSL.crypto.load_pkcs12(pkcs12certdata, sdk_sign_cert_password) ''''''然后解析x509格式'''''' x509data = certs.get_certificate() print x509data cert_data = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_ASN1, x509data) print ''-------------------'', cert_data return cert_data.get_serial_number()
问题主要出在x509data,我该如何才能得到x509data中的数据呢,Python中这是个对象。
回复内容:
function getCertId($cert_path) { $pkcs12certdata = file_get_contents ( $cert_path ); openssl_pkcs12_read ( $pkcs12certdata, $certs, SDK_SIGN_CERT_PWD ); $x509data = $certs [''cert'']; openssl_x509_read ( $x509data ); $certdata = openssl_x509_parse ( $x509data ); $cert_id = $certdata [''serialNumber'']; return $cert_id; }
我写了个python的版本,使用的是pyopenssl,如下:
''''''解析pfx格式的证书ID,这里针对的是签名证书'''''' def getCertIdWithPFX(cert_path): fp = open(cert_path, ''r'') if not fp: raise Exception(''open %s fail!!!'' % cert_path) pkcs12certdata = fp.read() ''''''先解析pkcs12格式'''''' sdk_sign_cert_password = config[''sdk_sign_cert_password''] certs = OpenSSL.crypto.load_pkcs12(pkcs12certdata, sdk_sign_cert_password) ''''''然后解析x509格式'''''' x509data = certs.get_certificate() print x509data cert_data = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_ASN1, x509data) print ''-------------------'', cert_data return cert_data.get_serial_number()
问题主要出在x509data,我该如何才能得到x509data中的数据呢,Python中这是个对象。
from OpenSSL.crypto import load_pkcs12, FILETYPE_PEM, PKCS12, dump_certificate, dump_privatekey
立即学习“PHP免费学习笔记(深入)”;
cert_pem = dump_certificate(FILETYPE_PEM, certs .get_certificate())
key_pem = dump_privatekey(FILETYPE_PEM, certs .get_privatekey())
python 安装 scrapy,openssl opensslv.h 错误的解决办法
在 ubuntu16.04 下安装 python2.7 Scrapy 报错,openssl/opensslv.h 未找到,解决方法如下:
sudo apt-get install libssl-dev
Centos 下,请使用下面这条命令
yum install openssl-devel
python-2.7 – 如何在python中保存3D数组并在mathematica中导入它
我用Google搜索,我找到了很多答案,我试试这个:
import numpy as np a=np.zeros((2,3,4)) a[0,0]=10 cPickle.dump( a,open( "matrix.txt","wb" ) )
在mathematica中我使用了Import [“matrix.txt”,“Data”]而我没有得到我所期望的
IN[]:Import["matrix.txt","Data"] Out[]:{{"cnumpy.core.multiarray"},{"_reconstruct"},{"p1"},{"(cnumpy"},\ {"ndarray"},{"p2"},{"(I0"},{"tS'b'"},{"tRp3"},{"(I1"},{"(I2"},\ {"I3"},{"I4"},{"tcnumpy"},{"dtype"},{"p4"},{"(S'f8'"},{"I0"},\ {"I1"},{"tRp5"},{"(I3"},{"S'<'"},{"NNNI-1"},{"I-1"},\ {"tbI00"},\ {"S'\\x00\\x00\\x00\\x00\\x00\\x00$@\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\\ x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00'"},{"tb."}}
解决方法
import numpy as np a=np.zeros((2,0]=10 b=a.reshape(1,24) np.savetxt("/matrix.CSV",b,delimiter=',')
然后在导入后在Mathematica中将其转换为3D,我们可以使用:
file=Import["matrix.CSV","Data"] matrix=ArrayReshape[file,{2,4}]
我们今天的关于如何在python中导入OpenSSL和如何在Python中导入库的分享就到这里,谢谢您的阅读,如果想了解更多关于iOS中,导入openssl静态库配置路径,自己创建.pch文件、解决openssl/rsa.h、pyopenssl - 下列有关openSSL的PHP代码,如果用Python实现?、python 安装 scrapy,openssl opensslv.h 错误的解决办法、python-2.7 – 如何在python中保存3D数组并在mathematica中导入它的相关信息,可以在本站进行搜索。
本文标签: