This document outlines how to setup EKM Tape Data Encryption digital certificates in ACF2.
This informational solution consists of two sections related to the setup of digital certificates for EKM Tape Data Encryption, Section A. for Local Certificate Authority Certificate and Section B. for Third Party Certificate Provider.
Section A.
Setting up EKM Tape Data Encryption using a Local Certificate
This example is for setting up certificates using a local certificate authority certificate.
EKM requires a z/OS user ID that identifies the EKM process as a started task on z/OS. In this example, the LOGONID of EKMSERV is used.
Setting up EKM digital certificates for the data encryption key protection used by EKM tape write operations.
ACFNote 1: Parameters specified in lower or mixed case are examples and should be set to meet site standards.
GENCERT CERTAUTH.localca SUBJ(CN='MyLocalCA' -OU='deptName' O='Company Name' C=xx) LABEL(Local CA) SIZE(1024) EXPIRE(12/31/2030)
ACFNote 1: Parameters specified in lower or mixed case are examples and should be set to meet site standards.
GENCERT EKMSERV.CERT SUBJ(CN='cnName' OU='MyCo' C=xx) -LABEL(EKM Server Label) SIZE(1024) SIGNWITH(CERTAUTH.localca)
ACF
SET RESOURCE(FAC)
COMPILE *
$KEY(IRR) TYPE(FAC)
DIGTCERT.LIST UID(UID for EKMSERV logonid) SERVICE(READ) ALLOW
DIGTCERT.LISTRING UID(UID for EKMSERV logonid) SERVICE(READ) ALLOW
ACFNOTE 1: This example sets the ring name to "ringName". The ring name that you assign must match the Keyring named specified in the EKM configuration file as shown in step 6 below.
SET PROFILE(USER) DIV(KEYRING)
INSERT EKMSERV.RING RINGNAME(ringName)
CONNECT CERTDATA(CERTAUTH.LOCALCA) KEYRING(EKMSERV.RING) USAGE(CERTAUTH)
CONNECT CERTDATA(EKMSERV.CERT) KEYRING(EKMSERV.RING) USAGE(PERSONAL) DEFAULT
Admin.ssl.keystore.name = safkeyring://EKMSERV/ringName
Admin.ssl.truststore.name = safkeyring://EKMSERV/ringName
Ringconfig.keystore.file = safkeyring://EKMSERV/ringName
TransportListener.ssl.keystore.name = safkeyring://EKMSERV/ringName
TransportListener.ssl.truststore.name = safkeyring://EKMSERV/ringName
F ACF2,REBUILD(USR),CLASS(P)
F ACF2,OMVS or F ACF2,OMVS(CERTDATA)
F ACF2,REBUILD(FAC)
Section B.
Setting up EKM Tape Data Encryption using a Third Party Certificate Provider
This example is for setting up certificates using a third party certificate provider.
Setting up EKM digital certificates for the data encryption key protection used by EKM tape write operations.
ACFNote 1: Parameters specified in lower or mixed case are examples and should be set to meet site standards.
GENCERT EKMSERV.CERT SUBJ(CN='cnName' OU='MyCo' C=xx) -
LABEL(EKM Server Label) SIZE(1024)
GENREQ EKMSERV.CERT DSN('hlq.EKMSERV.CERT.REQUEST')
ACFNote 1: The DSN(data set) must be defined as physical sequential (DSORG=PS), variable-blocked (RECFM=VB), (LRECL=255) and must be catalogued.
SET PROFILE(USER) DIV(CERTDATA)
INSERT EKMSERV.CERT DSN('THIRD.PARTY.CERT') LABEL(EKM Server Label)
ACF
SET PROFILE(USER) DIV(CERTDATA)
INSERT CERTAUTH.3rdPartyCA DSN('THIRD.PARTY.CA.CERT') TRUST
ACF
SET RESOURCE(FAC)
COMPILE *
$KEY(IRR) TYPE(FAC)
DIGTCERT.LIST UID(UID for EKMSERV logonid) SERVICE(READ) ALLOW
DIGTCERT.LISTRING UID(UID for EKMSERV logonid) SERVICE(READ) ALLOW
ACFNOTE 1: This example sets the ring name to "ringName". The ring name that you assign must match the Keyring name specified in the EKM configuration file as shown in step 6 below.
SET PROFILE(USER) DIV(KEYRING)
INSERT EKMSERV.RING RINGNAME(ringName)
CONNECT CERTDATA(CERTAUTH.3rdPartyCA) KEYRING(EKMSERV.RING) USAGE(CERTAUTH)
CONNECT CERTDATA(EKMSERV.CERT) KEYRING(EKMSERV.RING) USAGE(PERSONAL) DEFAULT
Admin.ssl.keystore.name = safkeyring://EKMSERV/ringName
Admin.ssl.truststore.name = safkeyring://EKMSERV/ringName
config.keystore.file = safkeyring://EKMSERV/ringName
TransportListener.ssl.keystore.name = safkeyring://EKMSERV/ringName
TransportListener.ssl.truststore.name = safkeyring://EKMSERV/ringName
F ACF2,REBUILD(USR),CLASS(P)
F ACF2,OMVS or F ACF2,OMVS(CERTDATA)
F ACF2,REBUILD(FAC)