Necesito interactuar con organizaciones de terceros. Deben agregar una firma digital a los datos y colocarla en el encabezado de la solicitud.
Descubrí que jsrsasign.js podría ser útil, así que lo estoy usando para hacer la firma digital, pero siempre con un resultado incorrecto.

mi código:
import { RSAKey, KEYUTIL, KJUR, hex2b64 } from 'jsrsasign' export function signature (url) { // 创建RSAKey对象var rsa = new RSAKey() let k = '-----BEGIN PRIVATE KEY-----x-----END PRIVATE KEY-----' // 将密钥转码rsa = KEYUTIL.getKey(k) // 创建Signature对象,设置签名编码算法var sig = new KJUR.crypto.Signature({'alg': 'SHA256withRSA'}) // 初始化sig.init(rsa) console.log('***url***', url) // 传入待加密字符串sig.updateString(url) // 生成密文var sign = hex2b64(sig.sign()) console.log('**sign**', sign) return sign }Soy un mantenedor de jsrsasign. Funcionará si su código o página está en UTF-8 aunque sean caracteres chinos, cirílicos o japoneses.