Previous Topic: Define SYSTEM LOGGER to CA Top SecretNext Topic: RACF to CA Top Secret Translation


CERTADM Sample Code

The following is a copy of the CA Top Secret supplied command list, CERTADM. This list contains sample Digital Certificate commands that present the various Digital Certificate supported functional keywords.

/*=====================================================================*/
/*Basic Self‑signed Digital Certificate                                */
/*=====================================================================*/
TSS CREATE(GENCDIV) TYPE(DIV) NAME(‘GENCERT DIVISION’)
TSS CREATE(GENCDEPT) TYPE(DEPT) DIV(GENCDIV)
TSS CREATE(MARY001) NAME(‘GENCERT USER MARY’) TYPE(USER) ‑   
PASSWORD(123,0)  DEPT(GENCDEPT)                               
TSS GENCERT(MARY001) DIGICERT(MARYCERT)                       
TSS LIST(MARY001) DATA(ALL,PASSWORD)                          
TSS REPLACE(MARY001) DIGICERT(MARYCERT) ‑                     
LABLCERT(‘SELF‑SIGNED PRIVATE KEY FOR MARY’)                  
TSS LIST(MARY001) LABLCERT(‘SELF‑SIGNED PRIVATE KEY FOR MARY’)
TSS LIST(SDT) DIGICERT(ALL)                                   
TSS LIST(MARY001) SEGMENT(CERTDATA)
/*=====================================================================*/
/*Create 5 Digital Certificates & add to the same user acid)           */
/*=====================================================================*/
TSS CREATE(GENCDIV) TYPE(DIV) NAME(‘GENCERT DIVISION’)
TSS CREATE(GENCDEPT) TYPE(DEPT) DIV(GENCDIV) ‑       
NAME(‘GENCERT DEPARTMENT’)
TSS CREATE(JAMES01) NAME(‘GENCERT USER JAMES’) TYPE(USER) ‑
PASSWORD(123,0)  DEPT(GENCDEPT)
TSS LIST(JAMES01) DATA(ALL,PASSWORD)
TSS GENCERT(JAMES01) DIGICERT(JIM01) LABLCERT(‘1ST D.CERT FOR JIM’) ‑
KEYSIZE(512) KEYUSAGE(HANDSHAKE) ALTNAME(‘IP=203.9.102.100’)
TSS LIST(JAMES01) DATA(ALL,PASSWORD)                                
TSS LIST(SDT) DIGICERT(ALL)
                                          
TSS GENCERT(JAMES01) DIGICERT(JIM02) LABLCERT(‘2ND D.CERT FOR JIM’) ‑
NBDATE(10/01/02) NBTIME(08:00:00) ‑                                 
NADATE(10/01/03) NATIME(09:00:00) ‑                                 
KEYUSAGE(DATAENCRYPT) KEYSIZE(768) ALTNAME(DOMAIN=CA.COM) ‑         
SUBJECTN(‘CN=“JAMES SECOND DIGICERT”‘) 
  
TSS LIST(JAMES01) DIGICERT(JIM02)                  
TSS LIST(SDT) DIGICERT(ALL) 
                        
TSS GENCERT(JAMES01) DIGICERT(JIM03) ‑             
NBDATE(10/01/02) NBTIME(08:00:00) ‑                
NADATE(10/31/03) NATIME(09:00:00) ‑                
KEYSIZE(1024) ‑                                    
LABLCERT(‘3RD D.CERT FOR JIM’) ‑                   
KEYUSAGE(DOCSIGN) ‑                                
ALTNAME(‘IP=201.100.10.9 EMAIL=JAMES03@TEST.NET’) ‑
SUBJECTN(‘T=“THIRD BOOK OF JAMES” OU=PAYROLL’)
       
TSS LIST(JAMES01) DIGICERT(JIM03)
TSS LIST(SDT) DIGICERT(ALL)
    
TSS GENCERT(JAMES01) DIGICERT(JIM04) ‑                 
SUBJECTN(‘CN=“JIM DOUGLAS” O=CA ST=“NEW JERSEY” C=US ‑ 
T=“TEST GENCERT” L=“NO. BRUNSWICK”‘) ‑                 
KEYSIZE(1024) ‑                                        
LABLCERT(‘4TH D.CERT FOR JIM’) ‑                       
KEYUSAGE(CERTSIGN) ‑                                   
ALTNAME(URI=WWW.CA.COM)                                
TSS LIST(JAMES01) DIGICERT(JIM04)                      
TSS LIST(SDT) DIGICERT(ALL)
TSS GENCERT(JAMES01) DIGICERT(JIM05) ‑                 
SUBJECTN(‘CN=JIM05 O=CA ST=NJ C=US’) ‑                 
NBDATE(10/01/02) NADATE(10/30/03) ‑                    
NBTIME(08:00:00) NATIME(09:00:00) ‑                    
KEYSIZE(4096) ‑                                        
LABLCERT(‘5TH DIGICERT FOR JIM’) ‑                     
ICSF ‑  
KEYUSAGE(CERTSIGN) ‑                                          
ALTNAME(‘IP=201.100.10.9 EMAIL=JAMES05@TEST.NET DOMAIN=CA.COM ‑
URI=WWW.CA.COM’)                                              
  
TSS LIST(JAMES01) DIGICERT(JIM05)                             
TSS LIST(JAMES01) DATA(ALL,PASSWORD)                          
TSS LIST(SDT) DIGICERT(ALL)
/*=====================================================================*/
/*To Generate a Digital Certificate with keyword SIGNWITH & Remove     */
/* Digicert                                                            */
/*=====================================================================*/
TSS CREATE(GENCDIV) TYPE(DIV) NAME(‘GENCERT DIVISION’)    
TSS CREATE(GENCDEPT) TYPE(DEPT) DIV(GENCDIV) ‑            
NAME(‘GENCERT DEPARTMENT’)                                
TSS CREATE(MARY001) NAME(‘GENCERT USER MARY’) TYPE(USER) ‑
PASSWORD(123,0)  DEPT(GENCDEPT)                           
TSS GENCERT(MARY001) DIGICERT(MARYCERT) -
    LABLCERT(‘SELF‑SIGNED PRIVATE KEY FOR MARY’)
TSS LIST(MARY001) DATA(ALL,PASSWORD)
TSS CREATE(TEDD001) NAME(‘GENCERT USER TEDD’) TYPE(USER) ‑
PASSWORD(123,0)  DEPT(GENCDEPT)                                 
TSS LIST(TEDD001) DATA(ALL,PASSWORD)      
TSS GENCERT(TEDD001) DIGICERT(TEDCERT1) ‑ 
SIGNWITH(MARY001,MARYCERT)                
TSS LIST(TEDD001) DATA(ALL,PASSWORD)      
TSS LIST(TEDD001) DIGICERT(TEDCERT1)      
TSS LIST(SDT) DIGICERT(ALL)               
TSS REMOVE(TEDD001) DIGICERT(TEDCERT1) 
/*=====================================================================*/
/*To Generate a Digital Certificate Request and write it to a data set.*/
/* (GENREQ)                                                            */
/*=====================================================================*/
TSS CREATE(GENCDIV) TYPE(DIV) NAME(‘GENCERT DIVISION’)    
TSS CREATE(GENCDEPT) TYPE(DEPT) DIV(GENCDIV) ‑            
NAME(‘GENCERT DEPARTMENT’)                                
TSS CREATE(MARY001) NAME(‘GENCERT USER MARY’) TYPE(USER) ‑
PASSWORD(123,0)  DEPT(GENCDEPT)                           
TSS GENCERT(MARY001) DIGICERT(MARYCERT) -
    LABLCERT(‘SELF‑SIGNED PRIVATE KEY FOR MARY’)
TSS LIST(MARY001) DATA(ALL,PASSWORD)
TSS GENREQ(MARY001) DIGICERT(MARYCERT) ‑                       
DCDSN(QAPRN.GENREQ.MARYCERT) ‑                                 
LABLCERT(‘SELF‑SIGNED PRIVATE KEY FOR MARY’)                   
TSS LIST(MARY001) LABLCERT(‘SELF‑SIGNED PRIVATE KEY FOR MARY’)
/*=====================================================================*/
/*To Generate a Digital Certificate for a new acid, using the output   */
/* (DCDSN) from the GENREQ Statement above                             */
/*=====================================================================*/
TSS CREATE(GENCDIV) TYPE(DIV) NAME(‘GENCERT DIVISION’)
TSS CREATE(GENCDEPT) TYPE(DEPT) DIV(GENCDIV) ‑       
NAME(‘GENCERT DEPARTMENT’)
TSS CREATE(PAUL001) NAME(‘GENCERT USER PAUL’) TYPE(USER) ‑
PASSWORD(123,0)  DEPT(GENCDEPT)
TSS LIST(PAUL001) DATA(ALL,PASSWORD)                         
TSS GENCERT(PAUL001) DIGICERT(PAULCERT) ‑                    
DCDSN(QAPRN.GENREQ.MARYCERT) ‑                               
LABLCERT(‘LABEL FOR PAUL001 W/MARY”S DCDSN’) ‑               
SIGNWITH(MARY001,MARYCERT)                                   
TSS LIST(PAUL001) LABLCERT(‘LABEL FOR PAUL001 W/MARY”S DCDSN’)
TSS LIST(PAUL001) DIGICERT(PAULCERT)                         
TSS LIST(PAUL001) SEGMENT(CERTDATA)
/*========================================================================*/
/*To Generate a Digital Certificate for a user along with keyword SUBJECTN*/
/* And list the acid with different variations.                          */
/*========================================================================*/
TSS GENCERT(PAUL001) DIGICERT(PAULCT02) ‑                       
SUBJECTN(‘CN=PAUL O=CA OU=“RESEARCH AND DEVELOPMENT”‘)          
TSS LIST(PAUL001) ‑                                             
SERIAL(00) ISSUERDN(‘.CN=PAUL.OU=RESEARCH AND DEVELOPMENT.O=CA’)
TSS LIST(PAUL001) DIGICERT(PAULCT02)                            
TSS LIST(PAUL001) SEGMENT(CERTDATA)  
TSS LIST(SDT) DIGICERT(ALL)
                          
/*=====================================================================*/
/*To EXPORT a Digital Certificate to an output data set NOT defined,   */
/* then do a CHKCERT command on the output DCDSN to verify that it     */
/* was EXPORTED.                                                      */
/*=====================================================================*/
TSS LIST(MARY001) DIGICERT(MARYCERT)                            
TSS EXPORT(MARY001) DIGICERT(MARYCERT) ‑                        
DCDSN(QAPRN.OUTPUT.MARYCERT)                                    
 TSS CHKCERT DCDSN(QAPRN.OUTPUT.MARYCERT) 
                      
TSS LIST(JAMES01) DIGICERT(JIM01)                               
TSS EXPORT(JAMES01) DIGICERT(JIM01) ‑                           
DCDSN(QAPRN.OUTPUT.JIM01) FORMAT(CERTDER)                       
TSS CHKCERT DCDSN(QAPRN.OUTPUT.JIM01)                           
TSS LIST(JAMES01) DIGICERT(JIM02)                               
TSS EXPORT(JAMES01) DIGICERT(JIM02) ‑                           
DCDSN(QAPRN.OUTPUT.JIM02) FORMAT(PKCS12B64) PKCSPASS(PSWDJIM2)  
TSS CHKCERT DCDSN(QAPRN.OUTPUT.JIM02) PKCSPASS(PSWDJIM2)        
TSS LIST(PAUL001) DIGICERT(PAULCT02)                            
TSS EXPORT(PAUL001) DIGICERT(PAULCT02) ‑                        
DCDSN(QAPRN.OUTPUT.PAULCT02) FORMAT(PKCS12DER) PKCSPASS(PSWDPAUL)
TSS CHKCERT DCDSN(QAPRN.OUTPUT.PAULCT02) PKCSPASS(PSWDPAUL)     
/*=====================================================================*/
/* Create Digital Certificate KEYRINGS and different variations of     */
/* the LIST command.                                                  */
/*=====================================================================*/
TSS CREATE(GENCDEPT) TYPE(DEPT) DIV(GENCDIV) ‑            
NAME(‘GENCERT DEPARTMENT’)                                
TSS CREATE(MARY001) NAME(‘GENCERT USER MARY’) TYPE(USER) ‑
PASSWORD(123,0)  DEPT(GENCDEPT)                           
TSS GENCERT(MARY001) DIGICERT(MARYCERT) -
	LABLCERT(‘SELF‑SIGNED PRIVATE KEY FOR MARY’)
TSS LIST(MARY001) DATA(ALL,PASSWORD)
TSS ADD(MARY001)  KEYRING(ACCOUNTG) LABLRING(‘ACCOUNTING‑DEBT’) ‑ 
RINGDATA(PAUL001, PAULCT02)  DEFAULT  USAGE(PERSONAL)     
TSS ADD(MARY001)  KEYRING(ACCOUNTG) LABLRING(‘ACCOUNTING‑DEBT’) -
	RINGDATA(JAMES01, JIM02)   USAGE(CERTSITE)
TSS ADD(MARY001)  KEYRING(PERSONEL) LABLRING(‘PERSONEL‑NEW HIRES’) -
	RINGDATA(TEDD01, TEDCERT1)  USAGE(CERTAUTH)
TSS LIST(MARY001) KEYRING(ACCOUNTG)
TSS LIST(MARY001) SEGMENT(ALL)
TSS LIST(MARY001) DATA(ALL)
TSS LIST(MARY001) SEGMENT(CERTDATA)
TSS LIST(MARY001) SEGMENT(RINGDATA)

TSS LIST(SDT) KEYRING(ALL)
TSS LIST(SDT) DIGICERT(ALL)
TSS LIST(SDT) LABLRING(‘ACCOUNTING‑DEBT’)