Creating SignatureThis guide is a short tutorial on how to create a Digital SignatureA Digital Signature can be used with any kind of message, so the receiver can be sure of the sender's identity and that the message arrived intact more ... with Virgil Security. A valid digital signature gives a recipient reason to believe that the message was created by a known sender, that the sender cannot deny having sent the message, and that the message was not altered in transit. It can be used with any kind of message - whether it is encrypted or not. See our Use Cases to find out what you can do with Digital Signature. Set up your project environment before starting to create a Digital Signature, with the getting started guide.The Signature Creation procedure is shown in the figure below.In order to create a Digital Signature and sign the message, Alice has to have her Virgil KeyThe Virgil Key is a wrapper of the user's secure Private Key more ....Let's review the Digital Signature creation process:Developers need to initialize the Virgil SDKThe SDK helps take tedious complexity out of coding by providing APIs for all of Virgil Services.$virgilApi = VirgilApi::create('[YOUR_ACCESS_TOKEN_HERE]');Load Alice's Virgil Key from the protected storage and enter the Virgil Key's password;// load Alice's Key from storage $aliceKey = $virgilApi->Keys->load('[KEY_NAME]', '[KEY_PASSWORD]');To load the Virgil Key from a specific storage, developers need to change the storage path during Virgil SDK initialization.Then Alice has to:Prepare the information for the message to BobSign the message using her Virgil Key// load Alice's Key from storage $aliceKey = $virgilApi->Keys->load('[KEY_NAME]', '[KEY_PASSWORD]'); $message = 'Hey Bob, hope you are doing well.'; // generate signature of the message using Alice's key $aliceSignature = $aliceKey->sign($message); See our guide on Loading Keys for more examples. Alice can now send a signed message to Bob.