我正在查看引用this example here的javascript functionality的JWT
我正在尝试使用javasrcipt来签署一段数据。但是,它说我必须使用私有RSA密钥,它不允许您使用公钥。
我的目标是通过PHP提交表单,调用此javascript函数并加密数据。
请原谅我的无知,但你怎么能在javascript中使用私人RSA密钥并同时保密?
看来您必须以某种方式为其提供私钥,并且在Web浏览器中使用简单的开发人员工具的用户不会看到该私钥吗?
function _genJWS() {
var sHead = '{"alg":"RS256"}';
var sPayload = '{"data":"HI","exp":1300819380}';
var sPemPrvKey = document.form1.pemprvkey1.value;
var jws = new KJUR.jws.JWS();
var sResult = null;
try {
sResult = jws.generateJWSByP1PrvKey(sHead, sPayload, sPemPrvKey);
document.form1.jwsgenerated1.value = sResult;
} catch (ex) {
alert("Error: " + ex);
}
}
答案 0 :(得分:0)
您所寻找的不是JWS(签名),而是JWE(加密)。
如果要使用JWE将安全数据发送到服务器,则必须:
据我所知,没有javascript库可以生成JWE(我可能错了,但我一无所获)。