对于需要使用M2Crypto.Engine来访问USB令牌的帮助感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解要使用ingameinfoxml,你必须安装正确的依赖项,并且为您提供关于c–
对于需要使用M2Crypto.Engine来访问USB令牌的帮助感兴趣的读者,本文将提供您所需要的所有信息,我们将详细讲解要使用ingame info xml,你必须安装正确的依赖项,并且为您提供关于c – 使用来自USB令牌的证书和密钥进行数字签名、digital-signature – 如何使用JavaScript表格浏览器和用户的USB令牌对GST Return或eReturn进行数字签名?我可以使用WebCrypto API吗?、javascript – 需要使用node.js访问mysql数据库的帮助、Lowest Cost Arm9 with HS USB 2.0 OTG & Decryption Engine的宝贵知识。
本文目录一览:- 需要使用M2Crypto.Engine来访问USB令牌的帮助(要使用ingame info xml,你必须安装正确的依赖项)
- c – 使用来自USB令牌的证书和密钥进行数字签名
- digital-signature – 如何使用JavaScript表格浏览器和用户的USB令牌对GST Return或eReturn进行数字签名?我可以使用WebCrypto API吗?
- javascript – 需要使用node.js访问mysql数据库的帮助
- Lowest Cost Arm9 with HS USB 2.0 OTG & Decryption Engine
需要使用M2Crypto.Engine来访问USB令牌的帮助(要使用ingame info xml,你必须安装正确的依赖项)
我正在使用M2Crypto-0.20.2。我想使用OpenSC项目中的engine_pkcs11和Aladdin
PKI客户端进行基于令牌的身份验证,从而通过ssl进行xmlrpc调用。
from M2Crypto import EngineEngine.load_dynamic()dynamic = Engine.Engine(''dynamic'')# Load the engine_pkcs from the OpenSC projectdynamic.ctrl_cmd_string("SO_PATH", "/usr/local/ssl/lib/engines/engine_pkcs11.so")Engine.cleanup()Engine.load_dynamic()# Load the Aladdin PKI Clientaladdin = Engine.Engine(''dynamic'')aladdin.ctrl_cmd_string("SO_PATH", "/usr/lib/libeTPkcs11.so")key = aladdin.load_private_key("PIN","password")
这是我收到的错误:
key = pkcs.load_private_key("PIN","eT0ken")File "/usr/local/lib/python2.4/site-packages/M2Crypto/Engine.py", line 70, in load_private_key return self._engine_load_key(m2.engine_load_private_key, name, pin)File "/usr/local/lib/python2.4/site-packages/M2Crypto/Engine.py", line 60, in _engine_load_key raise EngineError(Err.get_error())M2Crypto.Engine.EngineError: 23730:error:26096075:engine routines:ENGINE_load_private_key:not initialised:eng_pkey.c:112:
对于load_private_key()
,应将什么作为第一个参数传递?M2Crypto文档没有对此进行解释。
加载引擎没有任何错误,但是我不确定是否正确加载了它们。似乎引擎ID必须是一个特定名称,但我在任何地方都找不到该列表。 ''dynamic''
为我工作。
任何帮助,将不胜感激!
答案1
小编典典找到!!!!
是的,正是我的出身方式。
因此,实际上ENGINE_init()未在M2Crypto.Engine中实现。因此,只有一种解决方案:打补丁!!!(非常小…),所以我创建了一个新的Engine方法(在Engine.py中)
def engine_initz(self): """Return engine name""" return m2.engine_initz(self._ptr)
为什么选择engine_initz?因为engine_init已经在SWIG / _engine.i中定义,所以:
void engine_init(PyObject *engine_err) { Py_INCREF(engine_err); _engine_err = engine_err;}
我真的不知道该怎么做,所以我更喜欢创建一个新的…所以我刚刚在SWIG / _engine.i中添加了以下内容:
%rename(engine_initz) ENGINE_init;extern int ENGINE_init(ENGINE *);
并重新编译__m2crypto.so,现在只需在启动私钥之前添加“ pkcs11.engine_initz()”,它就可以工作…
c – 使用来自USB令牌的证书和密钥进行数字签名
我一直在搜索stackoverflow和其他网站,但除了.NET框架中的一些好的功能(我没有使用)之外,它没有得到任何有用的东西.
似乎由于密钥未公开,加密由硬件本身完成.这是否意味着每个硬件制造商都提供自己的API,并且没有通用的方法来解决这个问题?
此外,我读到,一旦将令牌插入计算机,其证书就会被加载到系统存储中.是否可以使用商店的证书?如何在商店中识别和访问此类证书?私钥怎么样?
当证书可以从.p12或.pfx文件中提取时,我已经使用OpenSSL进行数字签名.
如果我在某个地方错了,请纠正我,我是这个话题的新手.
解决方法
> PKCS#11.几乎每个USB加密令牌和智能卡供应商都为您可以调用的PKCS#11提供驱动程序DLL.我需要注意的是,PKCS#11接口规范非常松散,这导致了不同供应商之间的怪癖和不兼容性.即您可能需要在一个设备中使用一组证书属性,在另一个设备中使用不同的属性集.
> CryptoAPI.大多数供应商都提供了一个CryptoAPI模块(CSP),它将证书“映射”到Windows证书存储中,您可以像在Windows证书存储中使用任何证书一样使用它进行签名.这意味着在Windows API中使用各种Crypt *,Cert *和类似功能.
我不认为OpenSSL可以用于您的任务 – 您需要使用CryptoAPI或PKCS#11.
我们的SecureBlackbox产品提供统一的高级接口,用于根据各种加密标准和使用PKCS#11和/或CryptoAPI对数据进行签名.仍然在PKCS#11的情况下(或完成签名的系统的运算符)需要知道PKCS#11驱动程序DLL的路径. SecureBlackBox可以使用其库版本从C中使用.
digital-signature – 如何使用JavaScript表格浏览器和用户的USB令牌对GST Return或eReturn进行数字签名?我可以使用WebCrypto API吗?
解决方法
大多数Web应用程序需要使用用户的本地计算机密钥存储区,USB令牌或智能卡从用户的浏览器中进行数字签名pdf文档,文件,eReturns(XML或JSON)等.
此外,在大多数签名方案中,为了保护服务器边界内的数据,不建议将完整的pdf文件或数据发送到浏览器或签署API服务器.
因此,通过浏览器扩展使用JavaScript来访问本地系统上运行的某些应用程序以访问本地KeyStore并生成签名并发送回(在PDF签名的情况下为PKCS7或CMS容器)到服务器可以注入签名的良好实践返回PDF或eReturn,从中创建用于签名的哈希并发送到浏览器.
对于基于浏览器的签名方案,可以使用一个免费的Chrome扩展程序是Signer.Digital chrome扩展.可以从https://download.cnet.com/Signer-Digital-Chrome-Extension/3000-33362_4-78042540.html下载本地系统(在Windows上的Chrome浏览器后面运行的主机)
安装此主机并重新启动Chrome将自动添加Signer.Digital Chrome Extension
该扩展的实际工作在here中示出
示例JavaScript和服务器端伪代码代码使用Signer.Digital扩展来签署GST返回:
function getSignature(hash){ //Sign GSTR Return Hash using Signer.Digital Chrome Extension //This method returns CMS (PKCS7) Signature SignerDigital.signGstHash(hash) .then(function(signature){ //send signature to return filing server },function(error){ //send error to server and/or report error to user }); } //For Income Tax Return signing use method: //This method returns SHA256 Signature SignerDigital.signITHash(hash,PAN)
文件GSTR3B的服务器端伪代码示例如下:
>用户在浏览器上单击了FileReturn按钮.
>调用方法下载GSTR3B返回摘要 – ApiAction“RETSUM”
>调用方法从上面的步骤2计算ResponsePayload的哈希值.
>在上面的步骤中发送哈希进行签名,其中上面的JavaScript方法将使用SigherDigital Extension方法获得GSTR返回哈希签名.
>将签名(如上面的JavaScript所示)返回给Web应用程序服务器,该服务器将继续向GSTN服务器发送GSTR3B归档API调用.
如果您使用TaxProGST.API免费库来文件GSTR3B伪代码将如下所示:
>用户在浏览器上单击了FileReturn按钮.>调用方法GSTR3BAPI.GetGstr3BDataSchedulePayloadAsync – 下载GSTR3B返回摘要 – ApiAction“RETSUM”>调用方法GSTR3BAPI.ComputeReturn3BHash(上面第2步的ResponsePayload)>在上面的步骤中发送哈希进行签名,其中上面的JavaScript方法将使用SigherDigital Extension方法获得GSTR返回哈希签名.>将签名(如上面的JavaScript所示)返回给Web应用程序服务器>服务器应用程序将使用GSTR3BAPI.FileReturn3BFrombrowser方法继续向GSTN服务器发送GSTR3B归档API调用
javascript – 需要使用node.js访问mysql数据库的帮助
我正在尝试运行一个简单的节点示例来访问mysql数据库并收到以下错误 – 错误:ER_ACCESS_DENIED_ERROR:访问被拒绝用户’root’@’ubuntu.local'(使用密码:是)
var MysqL = require('MysqL');
var connection = MysqL.createConnection({
host : '192.168.0.12',user : 'root',password : 'password',database : 'app'
});
connection.connect();
connection.query('SELECT * from users',function(err,rows,fields) {
if (err) throw err;
console.log('The solution is: ',rows[0]);
});
connection.end();
以上是使用node.js访问MysqL的代码.有关我可能做错的建议,提前感谢.
我的答案最终是因为我使用的是另一个端口.默认情况下,MysqL需要一个3306的端口,但我使用的是MAMP,其中MysqL服务器端口被指定为8889.一旦我将数据库连接添加到端口定义,就可以了:
var connection = MysqL.createConnection({
port: 8889,user: 'root',database : 'my_database'
});
注意:这适用于使用MAMP的Mac,没有在ubuntu或Windows上尝试过.
Lowest Cost Arm9 with HS USB 2.0 OTG & Decryption Engine

Lowest Cost ARM9 with HS USB 2.0 OTG & Decryption Engine NXP ARM926EJ-S processors LPC3143 & LPC3141 Embedded designers can now take advantage of higher performance, lower cost, lower power

今天关于需要使用M2Crypto.Engine来访问USB令牌的帮助和要使用ingame info xml,你必须安装正确的依赖项的介绍到此结束,谢谢您的阅读,有关c – 使用来自USB令牌的证书和密钥进行数字签名、digital-signature – 如何使用JavaScript表格浏览器和用户的USB令牌对GST Return或eReturn进行数字签名?我可以使用WebCrypto API吗?、javascript – 需要使用node.js访问mysql数据库的帮助、Lowest Cost Arm9 with HS USB 2.0 OTG & Decryption Engine等更多相关知识的信息可以在本站进行查询。
本文标签: