
async function generateKeys()
{
  let alicesKeyPair = await window.crypto.subtle.generateKey(
    {
      name: "ECDH",
      namedCurve: "P-521"
    },
    true,
    ["deriveKey"]
  );

  // Private-Key exportieren:
  let exportedPrivateKey = await window.crypto.subtle.exportKey(
    "pkcs8",
    alicesKeyPair.privateKey
  );
  var pem = toPem(exportedPrivateKey,"PRIVATE");
  // Private-Key NUR in LocalStorage speichern:
  localStorage.setItem("private_key",pem);

  // Public--Key exportieren:
  let exportedPublicKey = await window.crypto.subtle.exportKey(
      "spki",
      alicesKeyPair.publicKey
  );
  var pem = toPem(exportedPublicKey,"PUBLIC");

  // Public-Key in LocalStorage speichern:
  localStorage.setItem("public_key",pem);

  // Public-Key an Server senden:
  document.keysform.public_key.value=pem;
  document.keysform.submit();
  console.log('schicke Public-Key zu Server');
}

generateKeys();
