MODBUS TLS - Scripts for creation of Keys and Certificates for Modbus TLS 
=========================================================================

BREAF DESCRIPTION
-----------------
What it does:
	Creation of the complete SET of Certificates (CA, Server, Clients) for Modbus TLS communication implemented with Netman 208C


INPUT FILES and REQUIREMENTS
----------------------------
Requirement software tools necessary for the correct execution:
	Openssl (available in command line/terminal)
	Keytool (from Java)
Main scripts to execute (for Windows and Linux):
	_CREATE_Modbus_Certificates_Windows.bat
	_CREATE_Modbus_Certificates_Linux.sh
File needed from the correct execution of the creation scripts:
	_EXT_CA.cnf
	_EXT_CLIENT_PowerUser.cnf
	_EXT_CLIENT_User.cnf
	_EXT_SERVER.cnf
These *.cnf configuration files can be customized by the user changing the parameters:
	countryName
	stateOrProvinceName
	localityName
	organizationName
	organizationalUnitName
	commonName
	emailAddress


OUTPUT FILES CREATED
--------------------
# Key and Certificate for SERVER/Netman
Folder:
	Certificates_Server_Netman\*
Files:
	modbus_server_private_key.pem
	modbus_server_certificate.pem
	modbus_server.jks
	modbus_server_password_[JKS].txt

# Key and Certificate for CLIENT with "PowerUser" role
Folder:
	Certificates_Client_SW_PC_Poweruser\*
Files:
	modbus_client_poweruser_private_key.pem
	modbus_client_poweruser_certificate.pem
	modbus_client_poweruser.jks
	modbus_client_poweruser.pfx
	modbus_client_poweruser_password_[JKS][PFX].txt

# Key and Certificate for CLIENT with "User" role
Folder:
	Certificates_Client_SW_PC_User\*
Files:
	modbus_client_user_private_key.pem
	modbus_client_user_certificate.pem
	modbus_client_user.jks
	modbus_client_user.pfx
	modbus_client_user_password_[JKS][PFX].txt


NOTES
-----
1) CA files are maintained for user convenience but maybe no longer useful:
Folder:
	Certificates_CA\*
Files:
	modbus_ca_key.pem
	modbus_ca_cert.pem
	modbus_ca_cert.der
	
2) Do not alter the CLIENT role names "User" and "PowerUser" in Openssl configuration files (*.cnf): these roles are hard coded in the Netman and can't be changed.

3) Do not alter any other critical parameters in Openssl configuration files (*.cnf) because TLS creation is stronlgy specific.




