ERCOT SSL Communication Standards

advertisement
ERCOT SSL Communication Standards
BACKGROUND
ERCOT utilizes Secure Socket Layer (SSL) and Digital Certificate standards and protocols to
securely transmit data to and from Market Participants. Digital Certificates are required to
access, download, submit and query our systems. This document is directed to the API
(Application Programming Interface) and EWS (External Web Services) download users using
server certificates, intermediate certificates or root certificates for testing and production services
with ERCOT.
To effectively use web services with ERCOT, users should:
1) Read and understand the External Web Services XSD
2) Download certificates with an understanding of the information captured here
3) Install certificates
4) Test access with Wholesale Client Services using MOTE
5) Escalate any questions or issues to the ERCOT help desk.
VENDOR CHANGES
ERCOT previously provided the updated Intermediate Certificates to allow the ERCOT websites
to function with Market Participant Automated Programmatic Interfaces (APIs).
To meet the 2048-bit server to root RSA key requirement, ERCOT has upgraded all SSL
Certificates used to secure the ERCOT websites to 2048-bit RSA keys utilizing the 2048-bit
RSA public Root Certification Authorities.
As of September 30, 2011, all API traffic is required to communicate using the new 2048-bit
RSA SSL Root configuration (Refer to Appendix B below). The Market Operations Testing
Environment (MOTE) has been configured to utilize this configuration to facilitate Market
Participant testing.
CERTIFICATES
The following certificates are the minimum required for 2048-bit RSA key communication to the
ERCOT Web Service API for submissions and queries (MISAPI.ERCOT.COM) as well as
report downloads (MIS.ERCOT.COM). Market Participants should either add these certificates
to the existing keystore or create a blank keystore with just these certificates installed after the
configuration. The entire SSL Chain is required for both the Production and MOTE
environments. The Client Root Certificate is required for the respective environment.
Required SSL Chain Certificates:
- Production and MOTE
- VeriSign_Class 3_International_Server_CA_G3.cer (VeriSign 2048-bit
Intermediate Certificate)
- VeriSign_Class_3_Public_Primary_Certification_Authority_G5.cer (VeriSign
2048-bit Root Certificate)
Required Client Root Certificates:
- Production
- ERCOT_CA.cer (ERCOT’s 2048-bit Production Client Root Certificate)
- MOTE
- ERCOT_TEST_CA.cer (ERCOT’s 2048-bit TEST Client Root Certificate)
ERCOT PUBLIC KEYS
ERCOTs public key is required to receive alerts and notifications and is used to ensure secure
messages are coming from ERCOT. ERCOT has made the API public key available for use with
ERCOT initiated API communication (e.g. Notifications). The API public key is not required
for Market Participant initiated API communication to ERCOT (e.g. GetReports, Submissions,
or ReportDownloads). Only if one keystore is used between both the sending and listening API
applications, then the public key will need to be installed as well.
The diagram below explains a typical keystore location and the minimum required certificates.
Notification Sender
Application Keystore
- ERCOT's Production MISAPI
Public Key
- Customer SSL Root Certificate
Query/Submission
Application Keystore
ERCOT APE
- VeriSign 2048-bit Intermediate
Certificate
- VeriSign 2048-bit Root Certificate
- ERCOT's Production 2048-bit
Client Root Certificate
Notification
Communicaiton
Report Download
Application Keystore
ERCOT Proxy
Submissions, Queries,
and Report Download
Communication
- VeriSign 2048-bit Intermediate
Certificate
- VeriSign 2048-bit Root Certificate
- ERCOT's Production 2048-bit
Client Root Certificate
Notification Listener
Application Keystore
SSL Keystore
- MP’s 2048-bit SSL Certificate
- MP’s 2048-bit SSL Intermediate
Certificate
- MP’s 2048-bit SSL Root Certificate
- VeriSign 2048-bit Intermediate
Certificate
- VeriSign 2048-bit Root Certificate
- ERCOT's Production 2048-bit
Client Root Certificate
Appendix A – Secure Socket Layer (SSL)
SSL is a standard mechanism for Web services that is available on virtually all application
servers. This widely used, mature technology, which secures the communication channel
between client and server, will satisfy all of ERCOT’s use cases for secure Web Service
communications. Since it works at the transport layer, SSL covers all information passed in
the channel as part of a message exchange between a client and a server, including
attachments. Authentication is an important aspect of establishing an HTTPS connection.
Many platforms support the following authentication mechanisms for Web Services using
HTTPS:



The server authenticates itself to clients with SSL and makes its certificate available.
The client uses basic authentication over an SSL channel.
Mutual authentication with SSL, using the server certificate as well as the client
certificate, so that both parties can authenticate to each other.
Appendix B – API SSL Communication
With Web Services, the interaction use case is usually machine to machine; that is, it is an
interaction between two application components with no human involvement. Machine-tomachine interactions have a different trust model from typical website interactions. In a
machine-to-machine interaction, trust must be established proactively, since there can be no
real-time interaction with a user about whether to trust a certificate. Ordinarily, when a user
interacts with a website via a browser and the browser does not have the certificate for the
site, the user is prompted about whether to trust the certificate. The user can accept or reject
the certificate at that moment. With Web Services, the individuals involved in the
deployment of the Web Service interaction must distribute and exchange the server
certificate, and the client certificate (for mutual authentication), prior to the interaction
occurrence.
Download