Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  test_scenario.html

  Sprache: HTML
 

 products/Sources/formale Sprachen/C/Firefox/dom/mls/tests/test_scenario.html




<!DOCTYPE HTML>
<html>
<head>
  <title>Test for Messaging Layer Security</title>
  <!-- SimpleTest Helpers -->
  <script src="/tests/SimpleTest/SimpleTest.js"></script>
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
  <!-- Local Helpers -->
  <script src="head_mls.js"></script>
</head>
<body>
<pre id="test">
<script class="testbody" type="text/javascript">

async function test_scenario() {

  const mls = new MLS();

  // Alice: Create signature keypair and credential
  const alice = await mls.generateIdentity();
  const alice_credential = await mls.generateCredential("alice");

  // Bob: Create signature keypair and credential
  const bob = await mls.generateIdentity();
  const bob_credential = await mls.generateCredential("bob");


  // Bob: Generate a key package
  const bob_key_package = await mls.generateKeyPackage(bob, bob_credential);

  // Alice: Create a group
  let group_alice = await mls.groupCreate(alice, alice_credential);

  // Alice: Add Bob to the group
  let commit_output = await group_alice.add(bob_key_package);

  // Alice: process her Add commit
  await group_alice.receive(commit_output.commit);

  // Bob: Join the group
  let group_bob = await mls.groupJoin(bob, commit_output.welcome);

  // Test: compare group identifier from Alice and Bob
  is(byteArrayToHexString(group_alice.groupId), byteArrayToHexString(group_bob.groupId), "Alice GID == Bob GID");

  // Alice & Bob: Export a secret
  const context_bytes = new Uint8Array([99111110116101120116]); // "context" in ASCII

  const exportAlice = await group_alice.exportSecret("label", context_bytes, 15);
  const exportBob = await group_bob.exportSecret("label", context_bytes, 15);

  // Test: compare exporter from Alice and Bob
  is(byteArrayToHexString(exportAlice.exporter), byteArrayToHexString(exportBob.exporter), "Exporter Alice == Exporter Bob");

  // Bob: send a message to the group
  const message = new Uint8Array([7210110810811132871111141081003233]); // "Hello World !" in ASCII
  const ctx = await group_bob.send(message);

  // Alice: receive a message from the group
  const pt = await group_alice.receive(ctx);
  info("Alice received a message from Bob: " + JSON.stringify(pt));

  // Test: compare the message and the decrypted message
  is(byteArrayToHexString(message), byteArrayToHexString(pt.content), "Plaintext == Decrypted Message");

  SimpleTest.finish();
}

SimpleTest.waitForExplicitFinish();
test_scenario();

</script>
</pre>
</body>
</html>

Messung V0.5 in Prozent
C=92 H=99 G=95

¤ Dauer der Verarbeitung: 0.3 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Statistik
#Sources=141584
#Domains=752002