我正在恩智浦J3D081卡上编写Java卡3.0.2应用程序。我让它使用ALG_ECDSA_SHA_256对签名进行签名和验证。我的测试应用程序已经把钥匙写到卡上了。如果我对32字节的数据进行签名并将签名传回卡,验证码将成功地验证签名。如果我用私钥在Bouncy Castle中签名32个字节,并传递到卡上的验证,它就成功地验证了签名。bouncy castle验证代码成功验证从bouncy castle签名例程创建的签名。
但是,如果我从Java卡中获取返回的签名并将其传递给C#bouncy castle代码,它将无法验证签名。我已经检查了所有的输入值,它们是正确的。这里是我的代码(注意,我以64字节的形式传递公钥,并在它们前面加上0x04)
public bool HashAndVerifyDSA(byte[] pb, byte[] inData, byte[] sig)
{
byte[] pub = new byte[65];
pub[0] = 0x4;
Array.Copy(pb, 0, pub, 1, 64);
ECCurve curve = parameters.Curve;
ECPoint q = curve.DecodePoint(pub);
ICipherParameters Public = new ECPublicKeyParameters(algorithm, q, parameters);
ISigner bSigner = SignerUtilities.GetSigner("SHA-256withECDSA");
bSigner.Init(false, Public);
bSigner.BlockUpdate(inData, 0, inData.Length);
return (bSigner.VerifySignature(sig));
}
我应该注意的是,这些参数指定了P-256曲线,并且在与卡的加密通信中成功地使用了这些参数。公钥已成功创建。
我现在的头发好像比两天前少了。欢迎提供任何指示。
除了已经执行的调试步骤之外,您还可以检查以下内容:-
我正在编写一些代码,试图对一些数据进行签名。在将openssl生成的私钥转换为Java密钥库之后,我将Java签名类与SHA256withRSA一起使用。我试图确认openssl中Java类返回的签名,但由于某些原因,我无法让openssl进行验证。我最终需要在iOS Swift 3中实现这个签名验证,但在找到库之前,我想尝试根据openssl标准检查Java签名。 例如,我从我们的登录服务器得到
问题内容: 我正在尝试以编程方式验证jar文件是否未被明显篡改。我有2个要防止的用例。1)修改现有类2)在罐子中添加新类 我使用jarsigner签名了罐子。当我用jarsigner验证以上两种情况之一时,它的工作方式就与我期望的一样。 当我尝试使用如何以编程方式验证用jarsigner签名的jar 或如何通过自签名的jar验证签名中的示例以编程方式进行操作时 ?但是,我没有任何SecurityE
我写一个oauth与twitter的代码,我有401错误代码和"失败验证oauth签名和令牌"响应从twitter当我获取后请求到https://api.twitter.com/oauth/request_token.这是我的数据,我有: 我的步骤: 1.为签名准备的字符串 2.通过代码创建签名qQwIvFao9yeIQpi9ouz0oFi7/v8=: 3.最终授权标头(带转义引号): 问那些可能
情况是我必须检查一个数字签名: 字符串1“A1005056807CE11EE2B4CE0025305725CFRCN=KED,OU=I0020266601,OU=SAPWebAS,O=SAPTrustCommunity,C=DE20130611102236”通过PKCS#7签名并通过HTTP-URL发送给我。 我在BASE64中获得签名的内容(在代码字符串sc中查找)。 现在我必须检查,如果Str
说明 此协议用于用微信卡代替实体卡刷卡时,验证发送给客户微信的验证码,需要先调用协议5.4发送验证码。 请求地址 http://api.dc78.cn/Api/mb_checkvcode 请求方式 GET 请求参数 参数 参数名称 必填 描述 范例 id 微信卡id 是 code 验证码 是 amt 交易金额 否 传入金额可以验证与发送验证码时的金额是否匹配 pwd 通卡密码 是 当会员卡为通卡时
此协议用于用微信卡代替实体卡刷卡时,验证发送给客户微信的验证码,需要先调用协议5.4发送验证码。 请求参数说明 参数 描述 必填 示例值 类型 最大长度 action 接口参数组 是 object └action 需要调用的接口名称 是 mb_checkvcode string get GET参数组,本组参数需要参与签名 是 object └mbno 会员卡号 否 15696132602 numb