This error is related to the discrepancy between OpenSSL configuration file ($CFROOT/config/openssl.fips.cnf) and folders where actual TLS certificates are kept.
Note, the message says it is an error but it is really a warning and the transfer completes successfully. Here is an example of how the warning looks on Sun Sparc:
cfsend ip:127.0.0.1 tport:58585 tls:t lf:/tmp/testabc.local rf:/tmp/testabc.remote LocalTransactionNumber is IC05400064 MFT Platform Server: Transfer Mode Set To Send 00000001:error:05800071:x509 certificate routines:(unknown function):invalid directory:crypto/x509/by_dir.c:175: RemoteTransactionNumber is RC05400065 File Transfer Complete Transmitted 262400 bytes in 0 seconds
Issue/Introduction
After installing MFT Platform Server for UNIX 8.1.2 HF-001 an Invalid Directory error may occur when running transfers in FIPS mode.
Environment
All supported environments
Resolution
The actual folder structure on your machine is expected to match the [ CA_default ] section from $CFROOT/config/openssl.fips.cnf file.
Below is an example of the [ CA_default ] section (with highlighted changes) and a folder structure which will eliminate this warning message. Note, demoCA is just an example name. The folder can be named anything as long as it matches in the configuration.
1) vi $CFROOT/config/openssl.fips.cnf
[ CA_default ] #dir = ./demoCA # Where everything is kept dir = /demoCA # Where everything is kept certs = $dir/certs # Where the issued certs are kept crl_dir = $dir/crl # Where the issued crl are kept #database = $dir/index.txt # database index file. #unique_subject = no # Set to 'no' to allow creation of # several certs with same subject. new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/cacert.pem # The CA certificate serial = $dir/serial # The current serial number crlnumber = $dir/crlnumber # the current crl number # must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL private_key = $dir/private/cakey.pem# The private key