import * as pulumi from "@pulumi/pulumi"; /** * This resource provides the Sign resource in Oracle Cloud Infrastructure Kms service. * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/key/latest/Sign * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/kms * * 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](https://docs.cloud.oracle.com/iaas/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`. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testSign = new oci.kms.Sign("test_sign", { * cryptoEndpoint: signMessageCryptoEndpoint, * keyId: testKey.id, * message: signMessage, * signingAlgorithm: signSigningAlgorithm, * keyVersionId: testKeyVersion.id, * loggingContext: signLoggingContext, * messageType: signMessageType, * }); * ``` * * ## Import * * Sign can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:Kms/sign:Sign test_sign "id" * ``` */ export declare class Sign extends pulumi.CustomResource { /** * Get an existing Sign resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: SignState, opts?: pulumi.CustomResourceOptions): Sign; /** * Returns true if the given object is an instance of Sign. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Sign; /** * The service endpoint to perform cryptographic operations against. Cryptographic operations include 'Encrypt,' 'Decrypt,', 'GenerateDataEncryptionKey', 'Sign' and 'Verify' operations. see Vault Crypto endpoint. */ readonly cryptoEndpoint: pulumi.Output; /** * The OCID of the key used to sign the message. */ readonly keyId: pulumi.Output; /** * The OCID of the key version used to sign the message. */ readonly keyVersionId: pulumi.Output; /** * 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. */ readonly message: pulumi.Output; /** * 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`. */ readonly messageType: pulumi.Output; /** * The base64-encoded binary data object denoting the cryptographic signature generated for the message or message digest. */ readonly signature: pulumi.Output; /** * 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. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ readonly signingAlgorithm: pulumi.Output; /** * Create a Sign resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: SignArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Sign resources. */ export interface SignState { /** * The service endpoint to perform cryptographic operations against. Cryptographic operations include 'Encrypt,' 'Decrypt,', 'GenerateDataEncryptionKey', 'Sign' and 'Verify' operations. see Vault Crypto endpoint. */ cryptoEndpoint?: pulumi.Input; /** * The OCID of the key used to sign the message. */ keyId?: pulumi.Input; /** * The OCID of the key version used to sign the message. */ keyVersionId?: pulumi.Input; /** * 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. */ message?: pulumi.Input; /** * 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`. */ messageType?: pulumi.Input; /** * The base64-encoded binary data object denoting the cryptographic signature generated for the message or message digest. */ signature?: pulumi.Input; /** * 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. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ signingAlgorithm?: pulumi.Input; } /** * The set of arguments for constructing a Sign resource. */ export interface SignArgs { /** * The service endpoint to perform cryptographic operations against. Cryptographic operations include 'Encrypt,' 'Decrypt,', 'GenerateDataEncryptionKey', 'Sign' and 'Verify' operations. see Vault Crypto endpoint. */ cryptoEndpoint: pulumi.Input; /** * The OCID of the key used to sign the message. */ keyId: pulumi.Input; /** * The OCID of the key version used to sign the message. */ keyVersionId?: pulumi.Input; /** * 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. */ message: pulumi.Input; /** * 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`. */ messageType?: pulumi.Input; /** * 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. * * ** IMPORTANT ** * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values */ signingAlgorithm: pulumi.Input; } //# sourceMappingURL=sign.d.ts.map