Improvements in security processing are disclosed which enable security
processing to be transparent to the application. Security processing
(such as Secure Sockets Layer, or "SSL", or Transport Layer Security, or
"TLS") is performed in (or controlled by) the stack. A decision to enable
security processing on a connection can be based on configuration data or
security policy, and can also be controlled using explicit enablement
directives. Directives may also be provided for allowing applications to
communicate with the security processing in the stack for other purposes.
Functions within the protocol stack that need access to clear text can
now be supported without loss of security processing capability. No
modifications to application code, or in some cases only minor
modifications (such as inclusion of code to invoke directives), are
required to provide this security processing. Improved offloading of
security processing is also disclosed, which provides processing
efficiencies over prior art offloading techniques.