Introduction to certificates

Hypertext Transfer Protocol Secure (HTTPS) ist eine Erweiterung des Hypertext Transfer Protocol (HTTP) für die sichere Kommunikation über ein Computernetzwerk. In HTTPS wird das Kommunikationsprotokoll mithilfe der Transport Layer Security (TLS) oder ihrem Vorläufer, Secure Sockets Layer (SSL), verschlüsselt.

In XProtect VMS wird eine sichere Kommunikation durch die Verwendung von TLS/SSL mit asymmetrischer Verschlüsselung (RSA) erreicht.

TLS/SSL verwendet ein Schlüsselpaar - einen privaten und einen öffentlichen - zur Authentifizierung, Sicherung und Verwaltung sicherer Verbindungen.

Eine Zertifizierungsstelle (CA) ist jeder, der Stammzertifikate ausstellen kann. Dabei kann es sich um einen Internetdienst handeln, der Stammzertifikate ausstellt, oder um jeden, der ein Zertifikat manuell erstellt und verteilt. Eine CA kann Zertifikate für Webdienste ausstellen, d. h. für jede Software, die die Kommunikation über https nutzt. Dieses Zertifikat enthält zwei Schlüssel, einen privaten und einen öffentlichen. Der öffentliche Schlüssel wird auf den Clients eines Web-Dienstes (Dienst-Clients) installiert, indem ein öffentliches Zertifikat installiert wird. Der private Schlüssel dient dazu, Serverzertifikate zu signieren, die auf dem Server installiert werden müssen. Jedes Mal, wenn ein Dienst-Client den Web Service anruft, sendet der Web Service dem Client das Server-Zertifikat, einschließlich des öffentlichen Schlüssels. Der Dienst-Client kann das Serverzertifikat mithilfe des bereits installierten, öffentlichen CA-Zertifikates überprüfen. Der Client und der Server können nun mit Hilfe der öffentlichen und privaten Serverzertifikate einen geheimen Schlüssel austauschen und so eine sichere TLS/SSL-Verbindung aufbauen.

Bei manuell verteilten Zertifikaten müssen die Zertifikate installiert werden, bevor der Client eine solche Überprüfung vornehmen kann.

Siehe Transportschichtsicherheit für weitere Informationen über TLS.

In XProtect VMS, the following locations are where you can enable TLS/SSL encryption:

  • In the communication between the management server and the recording servers, event servers, and mobile servers
  • On the recording server in the communication with clients, servers, and integrations that retrieve data streams from the recording server
  • In the communication between clients and the mobile server

In this guide, the following are referred to as clients:

  • XProtect Smart Client
  • Management Client
  • Management Server (for System Monitor and for images and AVI video clips in email notifications)
  • XProtect Mobile Server
  • XProtect Event Server
  • XProtect LPR
  • Milestone Open Network Bridge
  • XProtect DLNA Server
  • Sites that retrieve data streams from the recording server through Milestone Interconnect
  • Third-party MIP SDK integrations that support HTTPS
  • For solutions built with MIP SDK 2018 R3 or earlier that access recording servers:
    • If the integrations are made using MIP SDK libraries, they need to be rebuilt with MIP SDK 2019 R1
    • If the integrations communicate directly with the Recording Server APIs without using MIP SDK libraries, the integrators must add HTTPS support themselves
    • If in doubt, ask your vendor who supplied the integration
  • Certificate distribution

    The graphic illustrates the basic concept of how certificates are signed, trusted, and distributed in XProtect VMS.

    A certificate authority (CA) is anyone who can issue root certificates. A CA certificate acts as a trusted third-party, trusted by both the subject/owner (server) and by the party that verifies the certificate (clients) (see Create CA certificate).

    The public certificate must be trusted on all client computers. In this way the clients can verify the validity of the certificates issued by the CA (see Install certificates on the clients).

    The CA certificate is used to issue private server authentication certificates to the servers (see Create SSL certificate).

    The created private SSL certificates must be imported to the Windows Certificate Store on all servers (see Import SSL certificate).

    Requirements for the private SSL certificate:

    • Issued to the server so that the server's host name is included in the certificate, either as subject (owner) or in the list of DNS names that the certificate is issued to
    • Trusted on all computers running services or applications that communicate with the service on the servers, by trusting the CA certificate that was used to issue the SSL certificate
    • The service account that runs the server must have access to the private key of the certificate on the server.

    Certificates have an expiry date. You will not receive a warning when a certificate is about to expire. If a certificate expires, the clients will no longer trust the server with the expired certificate and thus cannot communicate with it.
    To renew the certificates, follow the steps in this guide as you did when you created certificates.