So laden Sie eine PKCS#12 Digitale Zertifikat mit Javascript-WebCrypto-API

Ich versuche zum signieren der Daten mit Hilfe der WebCrypto API, aber statt der Schaffung einer private - /public-key und dem Export in pkcs#1 oder 8, ich würde wirklich gerne eines Benutzers zu verwenden PKCS#12 zum signieren der Daten. Ich habe gelesen, die W3C-spec, aber nicht viel davon und kann nicht finden, eine gute material auf, wie dies zu tun. Jetzt möchte ich zu verlassen, ActiveX und Java-Applets zur Seite. Gibt es eine Möglichkeit zu zwicken die folgenden:

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

Irgendwelche Hinweise?

UPDATE
Hier ist der code, mit dem ich gearbeitet habe

<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>
  • Im moment WebCrypto ist noch nicht bereit für solche Dinge.
  • Mayevski 'EldoS Corp, ok, pkcs8 es ist, thx
InformationsquelleAutor lumee | 2016-03-15
Schreibe einen Kommentar