jmeter 是否有任何API端点可生成和签署EC密钥对

1hdlvixo  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(144)

我的实际需要是生成一个EC密钥对(公钥和私钥),并使用它来模拟设备授权。一旦生成的公钥在我们的一个端点中使用,我将收到一个SMS TAN,我将需要为它生成一个签名,然后使用该签名来授权设备模拟。
到目前为止,我使用https://kjur.github.io/jsrsasign/sample/sample-ecdsa.html手动生成EC密钥对、签名消息和验证签名。我正在寻找任何直接的API,以便我可以通过postman或jMeter来完成这些操作,而无需任何手动干预。

piwo6bdm

piwo6bdm1#

对于JMeter,您可以从this answer中获取代码样本,并从合适的JSR223测试元素和Groovy language中使用它
演示:

如果你想重复这个练习,请编写代码:

import java.security.*;
import java.security.spec.ECGenParameterSpec;

KeyPairGenerator keyGen = KeyPairGenerator.getInstance("EC");

keyGen.initialize(new ECGenParameterSpec("secp256r1"), new SecureRandom());

KeyPair pair = keyGen.generateKeyPair();
PrivateKey priv = pair.getPrivate();
PublicKey pub = pair.getPublic();

/*
 * Create a Signature object and initialize it with the private key
 */

Signature ecdsa = Signature.getInstance("SHA256withECDSA");

ecdsa.initSign(priv);

String str = "aaa";
byte[] strByte = str.getBytes("UTF-8");
ecdsa.update(strByte);

/*
 * Now that all the data to be signed has been read in, generate a
 * signature for it
 */

byte[] realSig = ecdsa.sign();
log.info("Signature: " + new BigInteger(1, realSig).toString(16));

相关问题