|
How can I debug a hardware problem?
If you suspect a problem related to the hardware platform, then the trace data you provide for the IBM service team should include tracing both for the IBMJCECCA provider and for SSL. The following illustrates getting this trace and redirecting the output to a file (MyTest_trace.log):
java -Djavax.net.debug=all -Djava.security.auth.debug=all
MyTest >MyTest_trace.log 2>&1
What does 'javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.g: End user tried to act as a CA' mean?
This error occurs when a handshake is done and the CA certificate used for authentication does not have the basicConstraints extension turned on in the CA certificate.
In general, when you create certificates you must be sure to turn on the CA basicConstraints extension. In RACF be sure to create the CA certificate with the syntax RACDCERT CERTAUTH .... so that basicConstraints extension is included with the CA parameter set to true and the PathLen parameter set to some non-zero value appropriate for the certificate chain.
What does it mean when I get an EOF error after the client hello is sent on the client side?
This problem has been seen in WebSphere when JSSE2 was talking to a System SSL server and the System SSL server did not have a keyring that contained a private key.
What does it mean when I get "certificate verify message error" on one side and "bad_certificate" on the other?
This error usually means that the unrestricted policy files are needed for the operation being attempted.
See What are the unrestricted policy files and how do I install them?
What information should I collect before contacting the IBM service team with a problem related to IBMJSSE2?
You might reduce the time required to resolve your problem if you include the results of the following command in your PMR:
java -version
If the service team is not able to resolve your issue from your description of the failing scenario and the symptoms of the failure, the next step will be to get trace data for the failure. In order to capture the trace for the SSL failure, specify the option javax.net.debug=all when you run your application. This causes trace data to be printed to stdout. To capture it, you redirect output to a trace file.
The following illustrates getting an SSL trace:
java -Djavax.net.debug=all MyTest >MyTest_trace.log 2>&1
If the trace is needed, the service team will give you instructions on how to transmit it.

JAAS and SAF FAQ
General Debugging
There are configurable values to enable trace output for the JAAS and SAF components.
To enable diagnostic tracing for SAF, issue the following command:
export OS390_SS_TRACE=ON
To enable diagnostic tracing for JAAS, include the java.security.debug option when you start the JVM, as illustrated below (this example also redirects the output to a file):
java -Djava.security.debug=all MyTest >MyTest_trace.log 2>&1
Can I use the z/OS JAAS LoginModule with protected userids?
The z/OS JAAS OS390LoginModule can create a LoginContext for protected userids under the following circumstances (both 1 and 2 must prevail):
- When using the OS390LoginModule shipped with the Java SDK, the LoginContext object must be created with ONLY the name (userid) parameter; no callback handler may be passed when creating the LoginContext object.
- One of the following is true about the userid that invokes the application:
- the userid is a superuser
- the userid is defined to RACF as a SURROGAT of the protected userid under which authentication is to be performed AND the userid is granted READ permission to the BPX.SERVER FACILITY class
Is it possible to purchase JAAS LoginModule for RACF separately and run it on another platform?
No, the JAAS LoginModule (OS390LoginModule) for RACF cannot be purchased separately. JAAS modules are only available in the JAAS component of the Java for z/OS SDK. The OS390LoginModule for RACF cannot be run on any other platform, as the support is compiled specifically for the z/OS platform. Also, JAAS, as shipped in the Java SDK, contains no support for remote authentication using the OS390LoginModule on z/OS.
Is it possible to control access to datasets using z/OS JAAS and the SAFPermission interfaces?
The SAF services which provide access controls support general resources only; datasets are not supported.
What differences exist between z/OS JAAS and the version of JAAS supplied by Sun?
The major differences are in how native security influences the default behavior on z/OS. For more information, see Differences between IBM and Sun versions of JAAS.
Is a JAAS application on z/OS required to run as an authorized program?
Nothing implemented in z/OS JAAS requires running the calling applications as authorized programs. However, because JAAS uses controlled services to perform authentication and authorization, all program modules which are part of an application using JAAS on z/OS must be marked as program-controlled.
To learn more about protecting programs on z/OS, refer to "Protecting Programs" in z/OS Security Server RACF Security Administrator's Guide, SA22-7683.
To learn more about the effects of uncontrolled programs and how to define modules to program control, refer to "Handling dirty address spaces" in z/OS Unix System Services Planning, GA22-7800.
For information on defining programs as program controlled, refer to "Defining programs in UNIX files to program control" and "Steps for defining programs from load libraries to program control" in z/OS Unix System Services Planning, GA22-7800.
The SAF interfaces shipped in the Java SDK only support querying userid membership in a group; is there any way to administer changes to group membership with Java?
The z/OS Java SDK does not ship any services for performing administration of users and groups. However, z/OS ships with a set of Java interfaces permitting administration of users and groups in security repositories. For more information, refer to Java Security Administration.
|