openapi: 3.2.0 info: description: 'Use the Key Management API to manage vaults and keys. For more information, see [Managing Vaults](/Content/KeyManagement/Tasks/managingvaults.htm) and [Managing Keys](/Content/KeyManagement/Tasks/managingkeys.htm). ' license: name: Oracle Corporation title: Vault Key Management Kms Crypto API version: release x-provenance: method: harvested first_party: true publisher: Oracle source: https://docs.oracle.com/en-us/iaas/api/specs/6650b193f50d51919ae1a5f31b525097c777bb9e61575a82b12bf5a5fa5c1dea.yaml harvested: '2026-08-04' note: Published by Oracle as the contract for the Vault Key Management API OCI service and stored verbatim; API Evangelist added only this provenance block. x-evidence: - url: https://docs.oracle.com/en-us/iaas/api/specs/index.json what: Oracle's own index of every OCI service specification - url: https://docs.oracle.com/en-us/iaas/api/specs/6650b193f50d51919ae1a5f31b525097c777bb9e61575a82b12bf5a5fa5c1dea.yaml what: the harvested document for Vault Key Management API servers: - url: / tags: - name: kmsCrypto paths: /20180608/decrypt: post: description: 'Decrypts data using the given [DecryptDataDetails](/api/#/en/key/latest/datatypes/DecryptDataDetails) resource. ' operationId: Decrypt parameters: - $ref: '#/components/parameters/RequestIdHeader' responses: '200': description: 'The decrypted data in plaintext. ' headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/DecryptedData' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' default: $ref: '#/components/responses/DefaultError' summary: Decrypt tags: - kmsCrypto x-example: "POST /20180608/decrypt\n<authorization and other headers>\n{\n \"key-id\": \"ocid1.key.oc1.iad.annnb3f42acuu.abuwcljstscov63fvwp3yrrfepbnqyqlvqso3mfkpqg6aijasggkxglfzjia\",\n \"key-version-id\": \"ocid1.keyversion.oc1.iad.annnb3f4a2cuu.arcnlvkg4zyaa.abuwcljsemiqtbccvmfppbpua3ll3f5kmfgireh62hfcxgg7tgcs5gwsg5ma\",\n \"plaintext\": \"abcdefgh\",\n \"plaintext-checksum\": \"1434553411\"\n}\n" requestBody: content: application/json: schema: $ref: '#/components/schemas/DecryptDataDetails' description: DecryptDataDetails required: true /20180608/encrypt: post: description: 'Encrypts data using the given [EncryptDataDetails](/api/#/en/key/latest/datatypes/EncryptDataDetails) resource. Plaintext included in the example request is a base64-encoded value of a UTF-8 string. ' operationId: Encrypt parameters: - $ref: '#/components/parameters/RequestIdHeader' responses: '200': description: The encrypted data, presented as ciphertext. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/EncryptedData' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' default: $ref: '#/components/responses/DefaultError' summary: Encrypt tags: - kmsCrypto x-example: "POST /20180608/encrypt\nHost: <cryptoEndpoint>\n<authorization and other headers>\n{\n \"keyId\": \"ocid1.key.oc1.iad.exampledaaeug.examplestkvmbjdnbickxcvbotxd5q23tteidhj4q2c6qfauxm32i577yu5a\",\n \"plaintext\": \"aGVsbG8sIHdvcmxk\"\n}\n" requestBody: content: application/json: schema: $ref: '#/components/schemas/EncryptDataDetails' description: EncryptDataDetails required: true /20180608/exportKey: post: description: 'Exports a specific version of a master encryption key according to the details of the request. For their protection, keys that you create and store on a hardware security module (HSM) can never leave the HSM. You can only export keys stored on the server. For export, the key version is encrypted by an RSA public key that you provide. This operation is not supported for keys having protection mode `EXTERNAL`. ' operationId: ExportKey responses: '200': description: The encrypted exported key. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/ExportedKeyData' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' '500': $ref: '#/components/responses/500' default: $ref: '#/components/responses/DefaultError' summary: Exports a master encryption key. tags: - kmsCrypto x-example: "POST /20180608/exportKey\nHost: <cryptoEndpoint>\n<authorization and other headers>\n{\n \"keyId\": \"ocid1.key.oc1.iad.exampledaaeug.examplestkvmbjdnbickxcvbotxd5q23tteidhj4q2c6qfauxm32i577yu5a\",\n \"keyVersionId\": \"ocid1.keyversion.oc1.iad.examplevriiaa.examples4h2bocax3damnsxw4cvbbndged2gftlho4ufxwa4faux2eiqwija\",\n \"algorithm\": \"RSA_OAEP_AES_SHA256\",\n \"publicKey\": \"-----BEGIN PUBLIC KEY----- ..... -----END PUBLIC KEY-----\"\n}\n" x-related-resource: '#/definitions/ExportedKeyData' requestBody: content: application/json: schema: $ref: '#/components/schemas/ExportKeyDetails' description: ExportKeyDetails required: true /20180608/generateDataEncryptionKey: post: description: 'Generates a key that you can use to encrypt or decrypt data. ' operationId: GenerateDataEncryptionKey parameters: - $ref: '#/components/parameters/RequestIdHeader' responses: '200': description: The data encryption key. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/GeneratedKey' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' default: $ref: '#/components/responses/DefaultError' summary: GenerateDataEncryptionKey tags: - kmsCrypto x-example: "POST /20180608/generateDataEncryptionKey\nHost: <cryptoEndpoint>\n<authorization and other headers>\n{\n \"includePlaintextKey\": true,\n \"keyId\": \"ocid1.key.oc1.iad.exampledaaeug.examplestkvmbjdnbickxcvbotxd5q23tteidhj4q2c6qfauxm32i577yu5a\",\n \"keyShape\": {\n \"algorithm\": \"AES\",\n \"length\": 16\n }\n}\n" requestBody: content: application/json: schema: $ref: '#/components/schemas/GenerateKeyDetails' description: GenerateKeyDetails required: true /20180608/sign: post: description: 'Creates a digital signature for a message or message digest by using the private key of a public-private key pair, also known as an asymmetric key. To verify the generated signature, you can use the [Verify](/api/#/en/key/latest/VerifiedData/Verify) operation. Or, if you want to validate the signature outside of the service, you can do so by using the public key of the same asymmetric key. This operation is not supported for keys having protection mode `EXTERNAL`. ' operationId: Sign parameters: - $ref: '#/components/parameters/RequestIdHeader' responses: '200': description: 'The signed data. ' headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/SignedData' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' default: $ref: '#/components/responses/DefaultError' summary: Signs data by using the given SignDataDetails resource. tags: - kmsCrypto x-example: "POST /20180608/sign\nHost: <cryptoEndpoint>\n<authorization and other headers>\n{\n \"keyId\": \"ocid1.key.oc1.iad.exampledaaeug.examplestkvmbjdnbickxcvbotxd5q23tteidhj4q2c6qfauxm32i577yu5a\",\n \"message\": \"aGVsbG8sIHdvcmxk\"\n \"signingAlgorithm\": \"SHA256_RSA_PKCS_PSS\"\n},\n" requestBody: content: application/json: schema: $ref: '#/components/schemas/SignDataDetails' description: SignDataDetails required: true /20180608/verify: post: description: 'Verifies a digital signature that was generated by the [Sign](/api/#/en/key/latest/SignedData/Sign) operation by using the public key of the same asymmetric key that was used to sign the data. If you want to validate the digital signature outside of the service, you can do so by using the public key of the asymmetric key. This operation is not supported for keys having protection mode `EXTERNAL`. ' operationId: Verify parameters: - $ref: '#/components/parameters/RequestIdHeader' responses: '200': description: 'The verified signed material. ' headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/VerifiedData' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '404': $ref: '#/components/responses/404' '429': $ref: '#/components/responses/429' '500': $ref: '#/components/responses/500' default: $ref: '#/components/responses/DefaultError' summary: Verifies signed data by using the given VerifyDataDetails resource. tags: - kmsCrypto x-example: "POST /20180608/verify\nHost: <cryptoEndpoint>\n<authorization and other headers>\n{\n \"keyId\": \"ocid1.key.oc1.iad.exampledaaeug.examplestkvmbjdnbickxcvbotxd5q23tteidhj4q2c6qfauxm32i577yu5a\",\n \"keyVersionId\": \"ocid1.keyversion.oc1.iad.exampledaaeug.xd5q23tteidhj4q2c6qfauxm32i577yuamplestkvmbjdnbickxasfaf\",\n \"signature\": \"dsdfsljfnsjnfsnfdsnf\",\n \"signingAlgorithm\": \"SHA256_RSA_PKCS_PSS\"\n}\n" requestBody: content: application/json: schema: $ref: '#/components/schemas/VerifyDataDetails' description: VerifyDataDetails required: true components: schemas: DecryptedData: description: The response to a request to decrypt the encrypted data. properties: encryptionAlgorithm: default: AES_256_GCM description: 'The encryption algorithm to use to encrypt and decrypt data with a customer-managed key `AES_256_GCM` indicates that the key is a symmetric key that uses the Advanced Encryption Standard (AES) algorithm and that the mode of encryption is the Galois/Counter Mode (GCM). `RSA_OAEP_SHA_1` indicates that the key is an asymmetric key that uses the RSA encryption algorithm and uses Optimal Asymmetric Encryption Padding (OAEP). `RSA_OAEP_SHA_256` indicates that the key is an asymmetric key that uses the RSA encryption algorithm with a SHA-256 hash and uses OAEP. ' enum: - AES_256_GCM - RSA_OAEP_SHA_1 - RSA_OAEP_SHA_256 type: string keyId: description: The OCID of the key used to encrypt the ciphertext. maxLength: 255 minLength: 1 type: string keyVersionId: description: The OCID of the key version used to encrypt the ciphertext. maxLength: 255 minLength: 1 type: string plaintext: description: The decrypted data, expressed as a base64-encoded value. maxLength: 4096 minLength: 1 type: string plaintextChecksum: description: The checksum of the decrypted data. maxLength: 1024 minLength: 1 type: string required: - plaintext - plaintextChecksum type: object x-example: "{\n \"plaintext\": \"aGVsbG8sIHdvcmxk\",\n \"plaintextChecksum\": \"4289425978\"\n}\n" KeyShape: description: The cryptographic properties of a key. properties: algorithm: description: The algorithm used by a key's key versions to encrypt or decrypt. Only AES algorithm is supported for `External` keys. enum: - AES - RSA - ECDSA type: string curveId: description: Supported curve IDs for ECDSA keys. enum: - NIST_P256 - NIST_P384 - NIST_P521 type: string length: description: "The length of the key in bytes, expressed as an integer. Supported values include the following:\n - AES: 16, 24, or 32\n - RSA: 256, 384, or 512\n - ECDSA: 32, 48, or 66\n" type: integer required: - algorithm - length type: object x-example: "{\n \"algorithm\": \"AES\",\n \"length\": 16\n}\n" GenerateKeyDetails: description: The details of the key that you want to encrypt or decrypt data. properties: associatedData: additionalProperties: type: string description: 'Information that can be used to provide an encryption context for the encrypted data. The length of the string representation of the associated data must be fewer than 4096 characters. ' type: object includePlaintextKey: description: If true, the generated key is also returned unencrypted. type: boolean keyId: description: The OCID of the master encryption key to encrypt the generated data encryption key with. maxLength: 255 minLength: 1 type: string keyShape: $ref: '#/components/schemas/KeyShape' loggingContext: additionalProperties: type: string description: 'Information that provides context for audit logging. You can provide this additional data by formatting it as key-value pairs to include in audit logs when audit logging is enabled. ' type: object required: - keyId - keyShape - includePlaintextKey type: object x-example: "{\n \"includePlaintextKey\": true,\n \"keyId\": \"ocid1.key.oc1.iad.exampledaaeug.examplestkvmbjdnbickxcvbotxd5q23tteidhj4q2c6qfauxm32i577yu5a\",\n \"keyShape\": {\n \"algorithm\": \"AES\",\n \"length\": 16\n }\n}\n" EncryptDataDetails: description: The details of the plaintext data that you want to encrypt. properties: associatedData: additionalProperties: type: string description: 'Information that can be used to provide an encryption context for the encrypted data. The length of the string representation of the associated data must be fewer than 4096 characters. ' type: object encryptionAlgorithm: default: AES_256_GCM description: 'The encryption algorithm to use to encrypt and decrypt data with a customer-managed key. `AES_256_GCM` indicates that the key is a symmetric key that uses the Advanced Encryption Standard (AES) algorithm and that the mode of encryption is the Galois/Counter Mode (GCM). `RSA_OAEP_SHA_1` indicates that the key is an asymmetric key that uses the RSA encryption algorithm and uses Optimal Asymmetric Encryption Padding (OAEP). `RSA_OAEP_SHA_256` indicates that the key is an asymmetric key that uses the RSA encryption algorithm with a SHA-256 hash and uses OAEP. ' enum: - AES_256_GCM - RSA_OAEP_SHA_1 - RSA_OAEP_SHA_256 type: string keyId: description: The OCID of the key to encrypt with. maxLength: 255 minLength: 1 type: string keyVersionId: description: The OCID of the key version used to encrypt the ciphertext. maxLength: 255 minLength: 1 type: string loggingContext: additionalProperties: type: string description: 'Information that provides context for audit logging. You can provide this additional data as key-value pairs to include in the audit logs when audit logging is enabled. ' type: object plaintext: description: The plaintext data to encrypt. maxLength: 4096 minLength: 1 type: string required: - keyId - plaintext type: object x-example: "{\n \"keyId\": \"ocid1.key.oc1.iad.exampledaaeug.examplestkvmbjdnbickxcvbotxdee23kueidhj4q2c6qfauxm32i577yu5a\",\n \"plaintext\": \"aGVsbG8sIHdvcmxk\"\n}\n" Error: description: The desciption of Error message. properties: code: description: 'A short error code that defines the error, meant for programmatic parsing. See [API Errors](/Content/API/References/apierrors.htm). ' type: string message: description: A human-readable error string. type: string required: - code - message DecryptDataDetails: description: The details of the encrypted data that you want to decrypt. properties: associatedData: additionalProperties: type: string description: 'Information that can be used to provide an encryption context for the encrypted data. The length of the string representation of the associated data must be fewer than 4096 characters. ' type: object ciphertext: description: The encrypted data to decrypt. maxLength: 65536 minLength: 1 type: string encryptionAlgorithm: default: AES_256_GCM description: 'The encryption algorithm to use to encrypt or decrypt data with a customer-managed key. `AES_256_GCM` indicates that the key is a symmetric key that uses the Advanced Encryption Standard (AES) algorithm and that the mode of encryption is the Galois/Counter Mode (GCM). `RSA_OAEP_SHA_1` indicates that the key is an asymmetric key that uses the RSA encryption algorithm and uses Optimal Asymmetric Encryption Padding (OAEP). `RSA_OAEP_SHA_256` indicates that the key is an asymmetric key that uses the RSA encryption algorithm with a SHA-256 hash and uses OAEP. ' enum: - AES_256_GCM - RSA_OAEP_SHA_1 - RSA_OAEP_SHA_256 type: string keyId: description: The OCID of the key used to encrypt the ciphertext. maxLength: 255 minLength: 1 type: string keyVersionId: description: The OCID of the key version used to encrypt the ciphertext. maxLength: 255 minLength: 1 type: string loggingContext: additionalProperties: type: string description: 'Information that provides context for audit logging. You can provide this additional data as key-value pairs to include in audit logs when audit logging is enabled. ' type: object required: - ciphertext - keyId type: object VerifyDataDetails: description: The details of the message that you want to verify. properties: keyId: description: The OCID of the key used to sign the message. maxLength: 255 minLength: 1 type: string keyVersionId: description: The OCID of the key version used to sign the message. maxLength: 255 minLength: 1 type: string message: description: The base64-encoded binary data object denoting the message or message digest to sign. You can have a message up to 4096 bytes in size. To sign a larger message, provide the message digest. type: string messageType: default: RAW description: 'Denotes whether the value of the message parameter is a raw message or a message digest. The default value, `RAW`, indicates a message. To indicate a message digest, use `DIGEST`. ' enum: - RAW - DIGEST type: string signature: description: 'The base64-encoded binary data object denoting the cryptographic signature generated for the message. ' type: string signingAlgorithm: description: 'The algorithm to use to sign the message or message digest. For RSA keys, supported signature schemes include PKCS #1 and RSASSA-PSS, along with different hashing algorithms. For ECDSA keys, ECDSA is the supported signature scheme with different hashing algorithms. When you pass a message digest for signing, ensure that you specify the same hashing algorithm as used when creating the message digest. ' enum: - SHA_224_RSA_PKCS_PSS - SHA_256_RSA_PKCS_PSS - SHA_384_RSA_PKCS_PSS - SHA_512_RSA_PKCS_PSS - SHA_224_RSA_PKCS1_V1_5 - SHA_256_RSA_PKCS1_V1_5 - SHA_384_RSA_PKCS1_V1_5 - SHA_512_RSA_PKCS1_V1_5 - ECDSA_SHA_256 - ECDSA_SHA_384 - ECDSA_SHA_512 type: string required: - signature - message - keyId - keyVersionId - signingAlgorithm type: object GeneratedKey: description: The reponse to the regeuest to generate the key to encrypt or decrypt the data. properties: ciphertext: description: The encrypted data encryption key generated from a master encryption key. maxLength: 65536 minLength: 1 type: string plaintext: description: 'The plaintext data encryption key, a base64-encoded sequence of random bytes, which is included if the [GenerateDataEncryptionKey](/api/#/en/key/latest/GeneratedKey/GenerateDataEncryptionKey) request includes the `includePlaintextKey` parameter and sets its value to "true". ' maxLength: 65536 minLength: 1 type: string plaintextChecksum: description: 'The checksum of the plaintext data encryption key, which is included if the [GenerateDataEncryptionKey](/api/#/en/key/latest/GeneratedKey/GenerateDataEncryptionKey) request includes the `includePlaintextKey` parameter and sets its value to "true". ' maxLength: 1024 minLength: 1 type: string required: - ciphertext type: object x-example: "{\n \"ciphertext\": \"AAwRhavVBkAAAJNF0nE7tBz/CQDanO33toIAWpw/lCn9GuadiyNNZ2QCmeUksvor8HD00o0TiUHzj6IsDJ5z1j/AEXZrhBtEcz4=\",\n \"plaintext\": \"lqGERnQJYzljUfMITDub/uV5ZbQkvCE906Wg/mflz2s=\",\n \"plaintextChecksum\": \"1140988275\"\n}\n" VerifiedData: description: The response to a request to verify the message. properties: isSignatureValid: description: A Boolean value that indicates whether the signature was verified. type: boolean required: - isSignatureValid type: object x-example: "{\n \"isSignatureValid\": true\n}\n" SignedData: description: The response to a request to sign the message. properties: keyId: description: The OCID of the key used to sign the message. maxLength: 255 minLength: 1 type: string keyVersionId: description: The OCID of the key version used to sign the message. maxLength: 255 minLength: 1 type: string signature: description: 'The base64-encoded binary data object denoting the cryptographic signature generated for the message or message digest. ' type: string signingAlgorithm: description: 'The algorithm to use to sign the message or message digest. For RSA keys, supported signature schemes include PKCS #1 and RSASSA-PSS, along with different hashing algorithms. For ECDSA keys, ECDSA is the supported signature scheme with different hashing algorithms. When you pass a message digest for signing, ensure that you specify the same hashing algorithm as used when creating the message digest. ' enum: - SHA_224_RSA_PKCS_PSS - SHA_256_RSA_PKCS_PSS - SHA_384_RSA_PKCS_PSS - SHA_512_RSA_PKCS_PSS - SHA_224_RSA_PKCS1_V1_5 - SHA_256_RSA_PKCS1_V1_5 - SHA_384_RSA_PKCS1_V1_5 - SHA_512_RSA_PKCS1_V1_5 - ECDSA_SHA_256 - ECDSA_SHA_384 - ECDSA_SHA_512 type: string required: - keyId - keyVersionId - signature - signingAlgorithm type: object x-example: "{\n \"keyId\": \"ocid1.key.oc1.iad.exampledaaeug.examplestkvmbjdnbickxcvbotxd5q23tteidhj4q2c6qfauxm32i577yu5a\",\n \"keyVersionId\": \"ocid1.keyversion.oc1.iad.exampledaaeug.xd5q23tteidhj4q2c6qfauxm32i577yuamplestkvmbjdnbickxasfaf\",\n \"signature\": \"\",\n \"signingAlgorithm\": \"SHA256_RSA_PKCS_PSS\"\n}\n" ExportKeyDetails: description: The details of the key that you want to wrap and export. properties: algorithm: description: 'The encryption algorithm to use to encrypt exportable key material from a software-backed key. Specifying `RSA_OAEP_AES_SHA256` invokes the RSA AES key wrap mechanism, which generates a temporary AES key. The temporary AES key is wrapped by the RSA public wrapping key provided along with the request, creating a wrapped temporary AES key. The temporary AES key is also used to wrap the exportable key material. The wrapped temporary AES key and the wrapped exportable key material are concatenated, producing concatenated blob output that jointly represents them. Specifying `RSA_OAEP_SHA256` means that the software key is wrapped by the RSA public wrapping key provided along with the request. ' enum: - RSA_OAEP_AES_SHA256 - RSA_OAEP_SHA256 type: string keyId: description: The OCID of the master encryption key associated with the key version you want to export. maxLength: 255 minLength: 1 type: string keyVersionId: description: 'The OCID of the specific key version to export. If not specified, the service exports the current key version. ' maxLength: 255 minLength: 1 type: string loggingContext: additionalProperties: type: string description: 'Information that provides context for audit logging. You can provide this additional data as key-value pairs to include in the audit logs when audit logging is enabled. ' type: object publicKey: description: 'The PEM format of the 2048-bit, 3072-bit, or 4096-bit RSA wrapping key in your possession that you want to use to encrypt the key. ' maxLength: 810 minLength: 390 type: string required: - keyId - algorithm - publicKey type: object x-example: "{\n \"keyId\": \"ocid1.key.oc1.iad.exampledaaeug.examplestkvmbjdnbickxcvbotxd5q23tteidhj4q2c6qfauxm32i577yu5a\",\n \"keyVersionId\": \"ocid1.keyversion.oc1.iad.examplevriiaa.examples4h2bocax3damnsxw4cvbbndged2gftlho4ufxwa4faux2eiqwija\",\n \"algorithm\": \"RSA_OAEP_AES_SHA256\",\n \"publicKey\": \"-----BEGIN PUBLIC KEY----- ..... -----END PUBLIC KEY-----\"\n}\n" EncryptedData: description: The response to a request to encrypt the plaintext data. properties: ciphertext: description: The encrypted data. maxLength: 65536 minLength: 1 type: string encryptionAlgorithm: default: AES_256_GCM description: 'The encryption algorithm to use to encrypt and decrypt data with a customer-managed key. `AES_256_GCM` indicates that the key is a symmetric key that uses the Advanced Encryption Standard (AES) algorithm and that the mode of encryption is the Galois/Counter Mode (GCM). `RSA_OAEP_SHA_1` indicates that the key is an asymmetric key that uses the RSA encryption algorithm and uses Optimal Asymmetric Encryption Padding (OAEP). `RSA_OAEP_SHA_256` indicates that the key is an asymmetric key that uses the RSA encryption algorithm with a SHA-256 hash and uses OAEP. ' enum: - AES_256_GCM - RSA_OAEP_SHA_1 - RSA_OAEP_SHA_256 type: string keyId: description: The OCID of the key used to encrypt the ciphertext. maxLength: 255 minLength: 1 type: string keyVersionId: description: The OCID of the key version used to encrypt the ciphertext. maxLength: 255 minLength: 1 type: string required: - ciphertext type: object x-example: "{\n \"ciphertext\": \"AAwgpauIe9AAAM6dU7pS7AKwmDFyXOqNh0uAvNY9a3E95rw7Ae3LZNBnDtHWdkB1l/pIDBfg\"\n}\n" ExportedKeyData: description: The response to a request to export key material. properties: algorithm: description: 'The encryption algorithm to use to encrypt exportable key material from a key that persists on the server (as opposed to a key that persists on a hardware security module and, therefore, cannot be exported). Specifying RSA_OAEP_AES_SHA256 invokes the RSA AES key wrap mechanism, which generates a temporary AES key. The temporary AES key is wrapped by the RSA public wrapping key provided along with the request, creating a wrapped temporary AES key. The temporary AES key is also used to wrap the exportable key material. The wrapped temporary AES key and the wrapped exportable key material are concatenated, producing concatenated blob output that jointly represents them. Specifying RSA_OAEP_SHA256 means that the exportable key material is wrapped by the RSA public wrapping key provided along with the request. ' enum: - RSA_OAEP_AES_SHA256 - RSA_OAEP_SHA256 type: string encryptedKey: description: 'The base64-encoded exported key material, which is encrypted by using the public RSA wrapping key specified in the export request. ' type: string keyId: description: The OCID of the master encryption key associated with this key version. maxLength: 255 minLength: 1 type: string keyVersionId: description: The OCID of the key version. maxLength: 255 minLength: 1 type: string timeCreated: description: 'The date and time this key version was created, expressed in [RFC 3339](https://tools.ietf.org/html/rfc3339) timestamp format. ' example: '2018-04-03T21:10:29.600Z' format: date-time type: string vaultId: description: The OCID of the vault that contains this key version. maxLength: 255 minLength: 1 type: string required: - keyVersionId - timeCreated - vaultId - encryptedKey - keyId - algorithm type: object x-example: "{\n \"KeyVersionId\": \"ocid1.keyversion.oc1.iad.examplevriiaa.examples4h2bocax3damnsxw4cvbbndged2gftlho4ufxwa4faux2eiqwija\",\n \"keyId\": \"ocid1.key.oc1.iad.exampledaaeug.examplestkvmbjdnbickxcvbotxd5q23tteidhj4q2c6qfauxm32i577yu5a\",\n \"timeCreated\": \"2018-04-04T00:33:59.874Z\",\n \"vaultId\": \"ocid1.vault.oc1.iad.examplevaaeuk.examplettv5i3qbkp22g3cvbjqy7c7sqlywv25eajvnvcfauxpdgga6gct4a\",\n \"encryptedKey\": \"089d08927390280802d0987c09e7798h09f879870909c098709a709870970987b09709870c987098d70e==\",\n \"algorithm\": \"RSA_OAEP_AES_SHA256\"\n}\n" SignDataDetails: description: The details of the message that you want to sign. properties: keyId: description: The OCID of the key used to sign the message. maxLength: 255 minLength: 1 type: string keyVersionId: description: The OCID of the key version used to sign the message. maxLength: 255 minLength: 1 type: string loggingContext: additionalProperties: type: string description: 'Information that can be used to provide context for audit logging. It is a map that contains any additional data that you provide to include with audit logs, if audit logging is enabled. ' type: object message: description: The base64-encoded binary data object denoting the message or message digest to sign. You can have a message up to 4096 bytes in size. To sign a larger message, provide the message digest. maxLength: 4096 minLength: 1 type: string messageType: default: RAW description: 'Denotes whether the value of the message parameter is a raw message or a message digest. The default value, `RAW`, indicates a message. To indicate a message digest, use `DIGEST`. ' enum: - RAW - DIGEST type: string signingAlgorithm: description: 'The algorithm to use to sign the message or message digest. For RSA keys, supported signature schemes include PKCS #1 and RSASSA-PSS, along with different hashing algorithms. For ECDSA keys, ECDSA is the supported signature scheme with different hashing algorithms. When you pass a message digest for signing, ensure that you specify the same hashing algorithm as used when creating the message digest. ' enum: - SHA_224_RSA_PKCS_PSS - SHA_256_RSA_PKCS_PSS - SHA_384_RSA_PKCS_PSS - SHA_512_RSA_PKCS_PSS - SHA_224_RSA_PKCS1_V1_5 - SHA_256_RSA_PKCS1_V1_5 - SHA_384_RSA_PKCS1_V1_5 - SHA_512_RSA_PKCS1_V1_5 - ECDSA_SHA_256 - ECDSA_SHA_384 - ECDSA_SHA_512 type: string required: - message - keyId - signingAlgorithm type: object responses: DefaultError: description: An error has occurred. headers: opc-request-id: description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about a particular request, please provide the request ID. ' schema: type: string content: application/json: schema: $ref: '#/components/schemas/Error' parameters: RequestIdHeader: description: 'Unique identifier for the request. If provided, the returned request ID will include this value. Otherwise, a random request ID will be generated by the service. ' in: header name: opc-request-id required: false schema: type: string