kpg = KeyPairGenerator.getInstance("ECDSA", "BC");
ecSpec = new ECGenParameterSpec("secp224k1");
kpg.initialize(ecSpec, new SecureRandom());
提前致谢
关于我的第一个问题,我发现了一些东西:
上面提到的C#中的等价曲线名称是哪个?
microsoft库只支持P-256、P-384和P-521“NIST推荐的椭圆曲线ID”,即“SEC 2推荐的椭圆曲线域参数”的等价命名曲线、secp256r1、secp384r1、secp521r1,它们与prime256v1等价,但不支持ANSI X9.62 ECDSA prime曲线ID中的384和521。C#的Bouncy castle库,支持更多其他曲线,比如我感兴趣的secp224k1。
有人能给我举个例子,说明如何在C#中生成一个类似于上面java代码的keyPair吗?
我在这里找到了一个旧的例子,它说支持的密钥只有3:192位,239位和256位,但我想是引用了某个旧版本的库
这段代码可以演示
ECKeyPairGenerator gen = new ECKeyPairGenerator("ECDSA");
SecureRandom secureRandom = new SecureRandom();
Org.BouncyCastle.Asn1.X9.X9ECParameters ecp = Org.BouncyCastle.Asn1.Sec.SecNamedCurves.GetByName("secp224k1");
ECDomainParameters ecSpec = new ECDomainParameters(ecp.Curve, ecp.G, ecp.N, ecp.H, ecp.GetSeed());
ECKeyGenerationParameters ecgp = new ECKeyGenerationParameters(ecSpec, secureRandom);
gen.Init(ecgp);
AsymmetricCipherKeyPair eckp = gen.GenerateKeyPair();
问题内容: 我需要在C#端生成ECDSA签名,并在使用(显然)相对公钥读取并验证android应用程序上的签名后。好吧,要在Java中获得ECDSA密钥对(使用充气城堡提供程序),代码是这样的 字符串,是曲线名称。我可以选择“ secp224k1”,“ secp224r1”,“ secp256k1”,“ secp256r1”和其他更多内容。 我的问题是: 上面提到的C#中的等效曲线名称是什么? 有
我试图使用javascript创建ECDSA算法的密钥对,签名消息,然后在服务器端验证它(使用Java)。 示例javascript代码: 例如: 我做错了什么?
要使用OpenSSL生成私钥和公钥,我已经运行 我将公钥上传到远程服务器。然后将导入。Net Framework(它必须是。Net Framework)C#服务使用它来签署API有效负载: 用上面的代码给出 如果我使用并运行它会生成一个名为的PKCS#12密钥,然后: 使用<code>privateKeyFile=private-key.pem。p12上面的代码似乎对请求进行了签名,但API响应为
我已经在Java中生成了一个ECDSA签名,我希望从中获得R和S值,以便获得COSE编码的签名。根据我的理解,我生成的签名是DER编码的(默认情况下使用bouncyCastle)。当我使用P-256曲线(SHA256withECDSA)时,我正确地检索了R和S值。 当我使用其他曲线(P-521、P-384)时,从一种编码到另一种编码的签名解析有一些问题。
我是Openssl的新手,我已经生成了私钥myprivatekey。pem和公钥mypublickey。pem与: 和我的公钥: 接下来我想做的是用通行短语私钥加密我的ecdsa,并对我的公钥进行认证请求,感谢大家的帮助。
我对密码学很陌生,我正试图用C#.NET在Windows上对其进行分类 我使用以下命令生成了一个椭圆曲线 P-256(又名 secp256r1 和 prime256v1)键: 我使用以下命令生成了证书签名请求: 另一个团队发给我一个base-64编码的证书作为回应。到目前为止一切顺利。 现在,我收到了一些“测试”数据,需要使用私钥计算ECDSA签名。私钥看起来像: 到目前为止,我一直在努力编写类似