J'essaie de signer des données en utilisant l'API WebCrypto, mais au lieu de créer une clé privée/publique et de l'exporter vers pkcs # 1 ou 8, je voudrais vraiment aime utiliser le PKCS # 12 d'un utilisateur pour signer des données. J'ai lu la spécification du W3C, mais je ne peux pas en faire grand-chose et je ne trouve aucun bon document sur la façon de le faire. En ce moment, je veux laisser les applets Java et ActiveX de côté. Y at-il un moyen de modifier les éléments suivants:Comment charger un certificat numérique PKCS # 12 avec Javascript WebCrypto API
var buffer = encode(prompt("Please enter your password"));
//TODO:
//implement a prompt for a pfx or cert
return crypto.subtle.importKey("raw", buffer, "PBKDF2", false, usages);
//TODO:
//instead of importing it, ask for the certificate's pass to sign data
//with crypto.subtle.sign
Des pointeurs?
MISE À JOUR Voici le code que je travaille
<script src="forge.min.js"></script>
<script>
var errorsReportedByVerifier;
errorsReportedByVerifier = checkStorage() && checkBrowserAPIs();
if (!errorsReportedByVerifier){
console.log("adding click event");
document.getElementById('btnPfx').addEventListener('click', handlePFXFile, false);
storeVariables();
getVariables();
}
function handlePFXFile(evnt) {
console.log("handling pfx")
//alert(document.getElementById('pfx').value);
//error happens in 1st line
//error object does not accept property replace
//forge.min.js Line 1, Column: 17823
var p12Der = forge.util.decode64(document.getElementById('pfx').valueOf());
//var pkcs12Asn1 = forge.asn1.fromDer(p12Der);
//var pkcs12 = forge.pkcs12.pkcs12FromAsn1(pkcs12Asn1, false, 'pss');
console.log("pkcs12");
}
</script>
Au moment WebCrypto est pas encore prêt pour de telles choses. –
@Eugene Mayevski 'EldoS Corp, ok, pkcs8 c'est, thx – lumee