Integra Smart Identity Documents

The Integra Smart Identity Documents is very similar to a cryptocurrency wallet, in the fact that it stores the IntegraId and the private key, which is encrypted, in the document. The document is a blockchain-authenticated document that can be used when digitally signing hashes or encrypting information by simply dragging and dropping the document and entering the passphrase.

Overview

The Smart Identity Document is a new concept that will be unique to almost everyone reading this guide. With the ability to verify the authenticity of a blockchain authenticated document, the information contained within the document can be trusted as authentic. Please refer to <TODO: link to smart documents> for more information about blockchain authenticated smart documents. The contents of the private key are encrypted, using AES (Advanced Encryption Standard), and can only be decrypted using the passphrase. The passphrase is not stored anywhere and if lost, the Integra Smart Identity Document will become worthless.

The Smart Identity Document and be used to digitally sign hashes of documents by simply dragging and dropping the document onto a page where the hash is going to be registered to the blockchain. The process of decrypting the private key, in order to use it for digitally signing or encryption, simply uses the passphrase and AES encryption to decrypt the key. The key is only used in the browser for the intended purpose and will be discarded when the given action is completed.

📘

Setting ledger_type to "wallet" in metadata of Smart Identity Document

Standardization of the various documents using ledger_type allows applications to differentiate between various Smart Document types. For all Smart Identity Documents set ledger_type = "wallet" will allow the drag and drop areas to prompt the user for the passphrase and decrypting the private key.

Generation

The easiest way to generate an Integra Smart Identity Document is to use the API call PDF and set the correct parameters. Below is the Node.js code for generating an Integra Smart Identity Document.

const pdfResult = await api.post<unknown, AxiosResponse>( // create pdf with private key
	'/pdf',
  {
    cartridge_type: 'PrivateKey',
    meta_form: JSON.stringify({
    	integra_cartridge_type: 'PrivateKey',
    	pass_phrase: this.form.pass_phrase,
    	ledger_type: 'wallet'
  	}),
    data_form: JSON.stringify({}),
    existingGuid: this.$store.state.integraId
  },
  { responseType: 'blob' }
);

Metadata

The data contained within an Integra Smart Identity Document is important to understand for the purpose of integrating with existing and new software packages. Below is the metadata extracted from one of these documents. There are several important fields to note. First, the integraId will be used for matching to current users within the database field that was inserted into the user table/collection. Also, it will be used for the API call Register Identity. Second, the ledger_type = "wallet" is key for any document with an encrypted key requiring the user to input a passphrase. Finally, note the private_key does not look like the private key that was discussed in Public and Private Key Pairs. It is encrypted using AES and is worthless without the passphrase needed to decrypt the key. The walletid value is the pointer to this actual Smart Identity Document hashrecorded on the blockchain. This record can be retrieved using the identityExists API call.

{
  "result": {
    "modDate": "D:20220117194418Z",
    "formjson": "{}",
    "infojson": "{\"integra_cartridge_type\":\"PrivateKey\",\"ledger_type\":\"wallet\"}",
    "integraid": "e3e06369-a52d-410a-a0d6-d4596aeec3bb",
    "integra_cartridge_type": "PrivateKey",
    "ledger_type": "wallet",
    "private_key": "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",
    "walletid": "dc47b250-77cd-11ec-9349-756913e6001a"
  },
  "creationDate": "2022-01-17T19:44:24.194Z",
  "transactionId": "b7ad1bbfba99717bdac3c76743278803de552782b22fa228e35745b76e7ba24d"
}

The next section will explore the world of attestation documents and how they are beneficial in the blockchain ecosystem.