BEA Logo BEA Tuxedo Release 7.1

  Corporate Info  |  News  |  Solutions  |  Products  |  Partners  |  Services  |  Events  |  Download  |  How To Buy

 

   Tuxedo Doc Home   |   Security   |   Topic List   |   Previous   |   Next   |   Contents

   Using BEA Tuxedo Security

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. 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 a BEA Tuxedo message buffer, both capabilities are compatible with existing BEA Tuxedo 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 for Public Key Security

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

The ATMI for public key security is available in both C and COBOL implementations. The BEA Tuxedo 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 BEA Tuxedo COBOL Function Reference for a description of the TPKEYDEF record.

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

C Functions in ATMI 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 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 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 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