BEA Logo BEA Tuxedo Release 8.0

  BEA Home  |  Events  |  Solutions  |  Partners  |  Products  |  Services  |  Download  |  Developer Center  |  WebSUPPORT

 

   Tuxedo Documentation   |   Using Security in ATMI Applications   |   Local Topics   |   Previous Topic   |   Next Topic   |   Contents

 


Writing Security Code to Protect Data Integrity and Privacy

Public key security comprises end-to-end digital signing and data encryption. Both features are supported by BEA Tuxedo ATMI functions. ATMI applications protected by public key security are much safer for use across the Internet than programs in which this type of security is not used.

The capabilities that make end-to-end digital signing and data encryption possible are message-based digital signature and message-based encryption. Both capabilities are built upon the PKCS-7 standard, which is one of a set of Public-Key Cryptography Standards (PKCS) developed by RSA Laboratories in cooperation with several other leading communications companies.

Message-based digital signature ensures data integrity and non-repudiation by having the sending party bind proof of its identity to a specific message buffer. Message-based encryption protects the confidentiality of messages; only parties for whom messages are intended can decrypt and read them.

Because the unit of digital signing and encryption is an ATMI message buffer, both capabilities are compatible with existing ATMI programming interfaces and communication paradigms. It is possible for a message buffer to be both signed and encrypted. There is no required relationship between the number of digital signatures and the number of encryption envelopes associated with a message buffer.

Note: Each encryption envelope identifies a recipient of the message, and contains information needed by the recipient to decrypt the message.

ATMI Interface for Public Key Security

The ATMI interface for public key security is a compact set of functions used to:

The ATMI interfaces for public key security are available in both C and COBOL implementations. The ATMI COBOL language binding, however, does not support message buffers; thus, explicit signature, encryption, and query operations on individual buffers cannot be used in a COBOL application. However, key management interfaces do have a COBOL language binding, which enables signature generation in the AUTOSIGN mode and encryption-envelope generation in the AUTOENCRYPT mode. All operations related to automatic signature verification or automatic decryption apply to COBOL client and server processes.

Note: The COBOL TPKEYDEF record is used to manage public-private keys for performing message-based digital signature and encryption operations. See "COBOL Language ATMI Return Codes and Other Definitions" in the introduction part of the BEA Tuxedo ATMI COBOL Function Reference for a description of the TPKEYDEF record.

The following tables summarize the ATMI interfaces for public key security. Each function is also documented in the BEA Tuxedo ATMI C Function Reference and the BEA Tuxedo ATMI COBOL Function Reference.

C Functions in ATMI Interface for Public Key Security

Use This Function

To . . .

tpkey_open(3c)

Open a key handle for digital signature generation, message encryption, or message decryption. Keys are represented and manipulated via handles. A handle has data associated with it that is used by the ATMI application to locate or access the item named by the handle.

A key may play one or more of the following roles:

tpkey_getinfo(3c)

Get information associated with a key handle. Some information is specific to a cryptographic service provider, but the following set of attributes is supported by all providers:

tpkey_setinfo(3c)

Set optional attribute parameters associated with a key handle. A core set of key handle attributes is identified in the preceding description of tpkey_getinfo(). Other attributes, specific to a certain cryptographic service provider, may also be available.

tpkey_close(3c)

Close a previously opened key handle. A key handle may be opened explicitly using tpkey_open(), or implicitly (automatically) using tpenvelope().

tpsign(3c)

Mark a typed message buffer for digital signature. The public key software generates the digital signature just before the message is sent.

tpseal(3c)

Mark a typed message buffer for encryption. The public key software encrypts the message just before the message is sent.

tpenvelope(3c)

Access the digital signature and encryption information associated with a typed message buffer. tpenvelope() returns status information about the digital signatures and encryption envelopes attached to a particular message buffer. It also returns the key handle associated with each digital signature or encryption envelope. The key handle for a digital signature identifies the signer, and the key handle for an encryption envelope identifies the recipient of the message.

tpexport(3c)

Convert a typed message buffer into an exportable, machine-independent (externalized) string representation. tpexport() generates any digital signatures or encryption envelopes associated with a typed message buffer just before it converts that buffer into an externalized string representation.

An externalized string representation can be transmitted between processes, machines, or domains through any communication mechanism. It can be archived on permanent storage.

tpimport(3c)

Convert an externalized string representation back into a typed message buffer. During the conversion, tpimport() decrypts the message, if necessary, and verifies any associated digital signatures.

COBOL Routines in ATMI Interface for Public Key Security

Use This Routine . . .

To . . .

TPKEYOPEN(3cbl)

Open a key handle for digital signature generation, message encryption, or message decryption. Keys are represented and manipulated via handles. A handle has data associated with it that is used by the ATMI application to locate or access the item named by the handle.

A key may play one or more of the following roles:

TPKEYGETINFO(3cbl)

Get information associated with a key handle. Some information is specific to a cryptographic service provider, but the following set of attributes is supported by all providers:

TPKEYSETINFO(3cbl)

Set optional attribute parameters associated with a key handle. A core set of key handle attributes is identified in the preceding description of TPKEYGETINFO(). Other attributes, specific to a certain cryptographic service provider, may also be available.

TPKEYCLOSE(3cbl)

Close a key handle previously opened using TPKEYOPEN().

Recommended Uses of Public Key Security

See Also

 

back to top previous page