//USER01IC JOB MSGLEVEL=1,CLASS=5,NOTIFY=&SYSUID,MSGCLASS=H /*JOBPARM S=ANY,LINES=99 // SET DBUDATA='USER01.CERTFPRT.IRRDBU00' IRRDBU00 data //*---------------------------------------------------------------- //*********************************************************** //* These samples are provided for tutorial purposes only. ** //* This code has not been submitted to formal IBM testing.** //* This source is distributed on an "as-is" basis, ** //* without any warranties either expressed or implied. ** //* ** //* Copyright 2020 IBM Corporation ** //* ** //* ** //*01* EXTERNAL CLASSIFICATION: OTHER ** //*01* END OF EXTERNAL CLASSIFICATION: ** //* ** //*********************************************************** //*********************************************************** //* See the "DFSORT Application Programming: ** //* Guide" (SC28-6878) for more information ** //* on DFSORT and ICETOOL. ** //*********************************************************** //*********************************************************** //* $CERT01: This sample lists all the certificates in ** //* the RACF database with the following ** //* information: ** //* Owner, Label, Fingerprint, Subject DN, ** //* Issuer DN, and Signature Algoritm. ** //* ** //* This sample can be used together with the ** //* sample $CERT02 using the fingerprint as ** //* the key, to get more information on the ** //* certificate if needed. ** //* ** //* Note: The sample only displays 256 characters ** //* of the Subject DN and Issuer DN. You may ** //* change the values up to 1024 characters. ** //* ** //*********************************************************** //RACFICE EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //PRINT DD SYSOUT=* //DFSMSG DD SYSOUT=* //DBUDATA DD DISP=SHR,DSN=&DBUDATA //T0207 DD DISP=(NEW,DELETE,DELETE),SPACE=(CYL,(1,5,0)), // UNIT=SYSALLDA //T1560 DD DISP=(NEW,DELETE,DELETE),SPACE=(CYL,(1,5,0)), // UNIT=SYSALLDA //TEMP0001 DD DISP=(NEW,DELETE,DELETE),SPACE=(CYL,(1,5,0)), // UNIT=SYSALLDA //JOINOUT DD DISP=(NEW,DELETE,DELETE),SPACE=(CYL,(1,5,0)), // UNIT=SYSALLDA //TOOLIN DD * SORT FROM(DBUDATA) USING(CERT) SORT JKFROM USING(JOIN) SORT FROM(JOINOUT) USING(OWN$) TO(TEMP0001) DISPLAY FROM(TEMP0001) LIST(PRINT) - PAGE - TITLE('$CERT01: Certificate Information') - DATE(4MD/) - TIME(12:) - BLANK - ON(2161,08,CH) HEADER('Owner') - ON(2049,32,CH) HEADER('Label') - ON(2097,64,CH) HEADER('SHA256 Certificate','Fingerprint') - ON(1025,256,CH) HEADER('Subject DN') - ON(0001,256,CH) HEADER('Issuer DN') - ON(2081,16,CH) HEADER('Signature','Algorithm') //CERTCNTL DD * SORT FIELDS=COPY OUTFIL FNAMES=T0207,INCLUDE=(5,4,CH,EQ,C'0207') OUTFIL FNAMES=T1560,INCLUDE=(5,4,CH,EQ,C'1560'), IFTHEN=(WHEN=(2333,64,CH,EQ, C'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'), OVERLAY=(2333: C'========== No Fingerprint Data Available ========== ')) /* //JOINCNTL DD * JOINKEYS F1=T0207,FIELDS=(19,246,A) JOINKEYS F2=T1560,FIELDS=(10,246,A) REFORMAT FIELDS=(F2:266,1024, Issuer's Distinguished Name F2:1291,1024, Subject's Distinguished Name F1:266,32, Label F2:2316,16, Signature Algorithm F2:2333,64, Fingerprint F1:10,8) Owner OPTION COPY /* //OWN$CNTL DD * SORT FIELDS=(2161,08,CH,A) Owner /*