{
  "iface": "futoin.secvault.data",
  "version": "1.1",
  "ftn3rev": "1.9",
  "imports": [
    "futoin.secvault.types:1.1"
  ],
  "funcs": {
    "encrypt": {
      "params": {
        "id": "KeyID",
        "data": "RawData",
        "mode": {
          "type": "CipherMode",
          "default": null
        },
        "iv": {
          "type": "InitializationVector",
          "default": null
        },
        "aad": {
          "type": "RawData",
          "default": null
        }
      },
      "result": "RawData",
      "throws": [
        "UnsupportedType",
        "UnsupportedCipher",
        "NotApplicable"
      ],
      "maxreqsize": "1100K",
      "maxrspsize": "1100K"
    },
    "decrypt": {
      "params": {
        "id": "KeyID",
        "data": "RawData",
        "mode": {
          "type": "CipherMode",
          "default": null
        },
        "aad": {
          "type": "RawData",
          "default": null
        }
      },
      "result": "RawData",
      "throws": [
        "UnsupportedType",
        "UnsupportedCipher",
        "InvalidData",
        "NotApplicable"
      ],
      "maxreqsize": "1100K",
      "maxrspsize": "1100K"
    },
    "sign": {
      "params": {
        "id": "KeyID",
        "data": "RawData",
        "hash": "HashType"
      },
      "result": "RawData",
      "throws": [
        "UnsupportedType",
        "UnsupportedHash",
        "InvalidData",
        "NotApplicable"
      ],
      "maxreqsize": "1100K"
    },
    "verify": {
      "params": {
        "id": "KeyID",
        "data": "RawData",
        "sig": "RawData",
        "hash": "HashType"
      },
      "result": "boolean",
      "throws": [
        "UnsupportedType",
        "UnsupportedHash",
        "InvalidData",
        "InvalidSignature",
        "NotApplicable"
      ],
      "maxreqsize": "1100K"
    }
  },
  "requires": [
    "SecureChannel",
    "BinaryData"
  ]
}