ADD CERTIFICATE PRIVATE KEY EXPORT CAPABILITY TO SSL SERVER


 
 APAR Identifier ...... PK75661      Last Changed ........ 10/03/09
 ADD CERTIFICATE PRIVATE KEY EXPORT CAPABILITY TO SSL SERVER
 
 Symptom ...... IN INCORROUT         Status ........... CLOSED  UR1
 Severity ................... 4      Date Closed ......... 10/03/05
 Component .......... 5735FAL00      Duplicate of ........
 Reported Release ......... 530      Fixed Release ............ 999
 Component Name TCP/IP V2 FOR V      Special Notice       ATTENTION
 Current Target Date ..              Flags
 SCP ...................                            NEW FUNCTION
 Platform ............
 
 Status Detail: SHIPMENT - Packaged solution is available for
                           shipment.
 
 PE PTF List:
 
 PTF List:
 Release 530   : UK54940 available 10/03/09 (1000 )
 
 Parent APAR:
 Child APAR list:
 
 ERROR DESCRIPTION:
 The SSLADMIN EXPORT command provides a mechanism to extract a
 certificate from a Linux-based SSL server certificate database,
 but does so without associated keys.
 
 To facilitate migration from a Linux-based SSL server to the
 CMS-based SSL server introduced in z/VM 540, additional
 SSLADMIN command capabilities are needed that will provide a
 secure way to export a certificate with its associated private
 key.
 
 Additionally, CVE-2009-3555 identifies a weakness in the TLS and
 SSL session renegotiation protocol.  Updates to the IBM GSKit
 library are required in order to mitigate this issue.
 
 LOCAL FIX:
 
 PROBLEM SUMMARY:
 ****************************************************************
 * USERS AFFECTED: All customers running the z/VM SSL server.   *
 ****************************************************************
 * PROBLEM DESCRIPTION:                                         *
 ****************************************************************
 * RECOMMENDATION: APPLY PTF                                    *
 ****************************************************************
 This APAR provides an updated Linux SSL server module (sslserv),
 along with administrative interface (SSLADMIN) and DTCUME
 message repository changes, that add the ability to export a
 server certificate with its private key.
 
 In addition, an updated IBM GSKit RPM package is provided --
 both to support the aforementioned export changes, and to
 address the following problem:
 
   Transport Layer Security (TLS) handshake renegotiation weak
   security (CVE-2009-3555)
 
 Links to detailed instructions for installation of the RPM files
 provided with this APAR, as well as steps for exporting
 certificates with their private keys, are available at the "SSL
 Server Configuration" web page.  The URL for this page is:
 
   http://www.vm.ibm.com/related/tcpip/vmsslinf.html
 
 PROBLEM CONCLUSION:
 
 TEMPORARY FIX:
 
 COMMENTS:
 With this APAR, a new WITHKEY operand is added to the SSLADMIN
 EXPORT command, allowing a server certificate with its private
 key to be exported to a file in PKCS #12 format.  This file
 format allows the certificate and key to be transferred securely
 to other hosts and to be imported into other certificate
 databases, such as that used with the SSL server on z/VM 5.4
 (and later) systems.
 
 The revised information that follows will be included in any
 future updates to the following publication(s):
 
 ================================================================
 SC24-6125-03 -- z/VM: TCP/IP Level 530 Planning and
                 Customization
  Chapter 22. "Configuring the SSL Server"
  Section: "SSL Server Administration Commands"
  Page(s): 635-636
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 The SSLADMIN EXPORT command syntax is updated to include the
 WITHKEY and 'password' operands:
 
   >>--SSLadmin--EXPORT--fn--.----.---------------------------->
                             '-fm-'
   >--.--CERTificate--label--.---------------------.--.-------><
      |                      '--WITHKEY--password--'  |
      '--REQuest--label-------------------------------'
 
 The 'Purpose' section is updated as follows:
 
   Use the SSLADMIN EXPORT command to retrieve a certificate or
   certificate request from the certificate database and store it
   in a CMS file.  Certificates with private keys also can be
   retrieved using this command.
 
 The 'Operands' section is updated with a revised 'fn' operand
 description, and to include descriptions for the WITHKEY and
 'password' operands:
 
   fn
     is the file name to be used when the exported certificate or
     certificate request is stored as a CMS file.  The target
     file must not already exist.
 
     * A certificate with no associated private key is stored
        using the type: X509CERT
     * A certificate with an associated private key is stored
       using the file type: P12
     * A certificate request is stored using a file type of:
       CERTREQ
   ...
 
  label
     is the label associated with the certificate or certificate
 
     request, exactly as it appears in the certificate database.
     The SSLADMIN QUERY command can be used to determine how a
     label has been specified in the certificate database.
 
   ...
 
   WITHKEY
     indicates that a certificate is to be retrieved with its
     private key.
 
   password
     is the password that is to be used to protect an exported
     server certificate and its private keys.  The password you
     provide is case sensitive, and can be comprised of multiple
     tokens (with intervening blanks being significant).  Leading
     and trailing blanks are not significant -- these are removed
     from the provided value prior to use.
 
 The 'Usage Notes' section is updated as follows:
 
   * Certificate requests and certificates exported without the
     WITHKEY operand are stored in Base64-encoded DER format.
 
   * Certificates exported using the WITHKEY operand are stored
     in binary PKCS #12 format.
 
 ================================================================
 Documentation for the new messages that follow will be included
 in any future updates to the following publication:
 
 GC24-6124-02 -- z/VM: TCP/IP Level 530 Messages and Codes
 Chapter 19.  SSL Messages
 Page(s): 382, 391
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
 DTCSSL321I Export successful; created file: <pathname>
 
   Explanation:
     The EXPORT CERTIFICATE WITHKEY command completed
     successfully, and the Linux certificate-with-key file listed
     in the message has been created.
 
   System Action:
     Server operations continue.
 
   System Programmer Response:
     None.
 
 DTCSSL322I Export of expired certificate successful;
            created file: <pathname>
 
   Explanation:
     The EXPORT CERTIFICATE WITHKEY command completed
     successfully, and the Linux certificate-with-key file listed
     in the message has been created.  However, while processing
 
     this command, the server determined that the requested
     certificate now is expired, which might prevent it from
     being imported for use in a different certificate database.
 
   System Action:
     Server operations continue.
 
   System Programmer Response:
     None.
 
 DTCSSL400E Export error detected.
 
   Explanation:
     The EXPORT CERTIFICATE WITHKEY command did not complete
     successfully, the reason for which is explained by an
     additional message.
 
   System Action:
     Processing of the subject command stops.  Server operations
     continue.
 
   System Programmer Response:
     This message likely results from having attempted an export
     of a certificate for which there is no associated private
     key, or of a certificate that does not exist in the
     certificate database.  Confirm that the label has been
     specified with the correct case, and that it matches that
     for a server certificate that resides in the certificate
     database (the SSLADMIN QUERY CERTIFICATE command can be used
     for this purpose).  Adjust the label value or specify a
     different one when the command is next issued.
 
 DTCSSL2461W Certificate <label> has expired
 
   Explanation:
     The EXPORT CERTIFICATE WITHKEY command completed
     successfully.  However, while processing this command, the
     server determined that the requested certificate now is
     expired, which might prevent it from being imported for use
     in a different certificate database.
 
   System Action:
     Command processing continues.
 
   System Programmer Response:
     None.
 
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
  The codes that follow are added to:
  "Table 3. SSL Server Return Codes"
  Page(s): 393
 
  ---------------------------------------------------------------
  Code   Meaning
 
  111    There is no private key in the key record.
 
         Explanation:
           There was no private key associated with the
           certificate label submitted with this command.
 
         System Programmer Response:
           Specify a certificate label for a certificate with a
           private key associated with it (e.g., a 'Server'
           certificate).
 
  ---------------------------------------------------------------
  233    The target already exists.
 
         Explanation:
           The certificate to be exported already exists in the
           directory which maintains the certificate database,
           and it cannot be automatically removed.
 
         System Programmer Response:
           Access the certificate database directory in the SSL
           Server virtual machine.  Manually remove the exported
           certificate file, then retry the original command.
 
 ================================================================
 
 In addition to the previously described changes for exporting
 certificates with private keys, the updated IBM GSKit RPM
 packages provided with this APAR address CVE-2009-3555.
 
 This problem and the changes implemented to address it, are
 described in more detail here:
 
 All customers using the TCP/IP for z/VM SSL server, relying on
 Secure Socket Layer v3 (SSLv3) or any of the multiple versions
 of Transport Layer Security (TLS) in support of secure
 communications between a client and server or between server and
 server are impacted by a recently discovered weakness in the TLS
 and SSL v3 protocols.  SSLv2 is not affected.
 
 The TLS/SSL weakness exists in multiple implementations of the
 Transport Layer Security (TLS) protocol, including SSL.
 
 To address the weakness in the TLS/SSL handshake renegotiation,
 IBM, along with the other members in the Industry Consortium for
 the Advancement of Security on the Internet (ICASI), are working
 together with the Internet Engineering Task Force (IETF) to
 enhance and strengthen the handshake renegotiation protocol in
 the TLS specification.  This effort will take some time to
 complete.  The delivery outlook for inclusion of this enhanced
 handshake renegotiation capability in TLS protocol
 implementations is unknown at this time.
 
 In the interim, TCP/IP for z/VM is delivering an updated GSKit
 RPM that incorporates updates which disable the TLS handshake
 
 renegotiation.  By disabling TLS handshake renegotiation, which
 rarely is used, a remote attacker will be blocked from
 attempting to exploit the weakness in the TLS protocol.
 
 NOTE:
 
  After installing the PTF for this APAR, the z/VM SSL server
  will rely upon default GSKit settings will be used that disable
  TLS handshake renegotiation.  These settings cannot be changed.
 
 MODULES/MACROS:   DTCUME   DTCUMEB  IBMGSK   IBMGSKX  SSLADMIN
 VMSR4    VMSR4S   VMSR4X   VMSR4XS  VMSS9    VMSS9S   VMSS9X
 VMSS9XS
 
 SRLS:      SC24612503 GC24612402
 
 RTN CODES:
 
 CIRCUMVENTION:
 
 MESSAGE TO SUBMITTER: