gpt4 book ai didi

ios - 转换 ASN。 1 个签名到 IEEE P1363 签名

转载 作者:行者123 更新时间:2023-12-04 11:44:01 25 4
gpt4 key购买 nike

我确实使用下面的代码生成了一个签名,但是,我想要一个 IEEE P1336(长度 80)格式的签名

           guard let signData = SecKeyCreateSignature(
key,
SecKeyAlgorithm.ecdsaSignatureMessageX962SHA256,
signatureString.data(using: .utf8)! as CFData, &error) else {
let e = error!.takeRetainedValue() as Error

print("Signing Error \( e.localizedDescription)")
return nil
}
let signedData = signData as Data
let signedString = signedData.base64EncodedString(options: [])

最佳答案

我不是 iOS 专家。但是我为 iOS 生成的签名修复了这个问题。您可以自己创建此格式。例如对于 SHA-256 哈希签名。 JavaScript 示例

function parseASN1ToIEEEP1363(signature) {
const buffer = new ArrayBuffer(signature.length);
const int8View = new Int8Array(buffer);
for (let i = 0, strLen = signature.length; i < strLen; i++) {
int8View[i] = signature.charCodeAt(i);
}
//Currently these bytes getting for SHA256. for other hashings need to make it dynamic
const r = new Int8Array(buffer.slice(4, 36));
const s = new Int8Array(buffer.slice(39));
return appendBuffer(r, s);
}

function appendBuffer(buffer1, buffer2) {
var tmp = new Uint8Array(buffer1.byteLength + buffer2.byteLength);
tmp.set(new Uint8Array(buffer1), 0);
tmp.set(new Uint8Array(buffer2), buffer1.byteLength);
return tmp;
};

关于ios - 转换 ASN。 1 个签名到 IEEE P1363 签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67441411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com