• Facebook
  • Twitter
  • Youtube
  • LinedIn
  • RSS
  • Docs
  • Comparisons
  • Blogs
  • Download
  • Contact Us
Download
Show / Hide Table of Contents

TLS Certificate Placement

NCache uses TLS certificates to establish encrypted communication between clients, cache servers, and Bridge nodes. The certificates required on each machine depend on whether you configure regular TLS or mutual TLS and on the type of communication being protected.

Certificate placement follows two basic rules:

  • An endpoint that presents its identity must have an identity certificate with its private key.
  • An endpoint that validates another endpoint must trust the Certificate Authority (CA) that issued the presented certificate.

For example, when an NCache server presents a server certificate to a client, the server requires the certificate and its private key, while the client requires the certificate of the CA that issued the server certificate.

Important

Installing a certificate on a machine is not sufficient by itself. The NCache Service or client application must be able to access the certificate and, where applicable, its private key.

Regular TLS

Regular TLS, also referred to as one-way TLS, encrypts communication and authenticates the endpoint presenting the server certificate. The connecting endpoint validates the certificate but does not present its own identity certificate.

Therefore, regular TLS requires:

  1. A server identity certificate on the endpoint accepting the TLS connection.
  2. The issuing CA certificate on every endpoint that connects to and validates that server.

Client-Server Communication

For regular TLS between NCache clients and cache servers:

Machine Required Certificate Certificate Store
Each NCache cache server Server identity certificate with private key Personal or My
Each client application machine Root and intermediate CA certificates that issued the server certificate Trusted Root or Root

The NCache server presents its certificate during the TLS handshake. The client verifies that the certificate was issued by a trusted CA. A client identity certificate is not required for regular client-server TLS.

Server-Server Communication

Cache servers communicate with one another for clustering, replication, state transfer, and other distributed cache operations. Because any server can participate in these connections, install the server identity certificate on every cache server.

Machine Required Certificate Certificate Store
Each cache server Server identity certificate with private key Personal or My
Each cache server CA certificates that issued the certificates used by the other cache servers Trusted Root or Root

When the same CA issues all server certificates, installing that CA certificate on every server establishes trust across the cluster.

Bridge Communication

For TLS-protected Bridge communication, each NCache or Bridge endpoint that presents a certificate requires its identity certificate and private key. The communicating endpoint must trust the CA that issued that certificate.

Machine Required Certificate Certificate Store
Bridge or cache endpoint presenting its identity Server identity certificate with private key Personal or My
Endpoint connecting to it Root and intermediate CA certificates of the presenting endpoint Trusted Root or Root

When certificates from different CAs are used at different sites, install the appropriate CA certificates at each site so that both sides can validate the certificates they receive.

Mutual TLS

Mutual TLS, also referred to as two-way TLS, requires both communicating endpoints to authenticate themselves. During the TLS handshake:

  • The server presents its server certificate to the connecting endpoint.
  • The connecting endpoint presents its client or peer certificate to the server.
  • Each endpoint validates the CA that issued the certificate presented by the other endpoint.

Mutual TLS therefore requires identity certificates and trust certificates on both sides of the connection.

Mutual Client-Server TLS

For mutual TLS between an NCache client and cache server, place the certificates as follows:

Machine Required Certificate Certificate Store
NCache cache server Server identity certificate with private key Personal or My
NCache cache server CA certificates that issued the client certificate Trusted Root or Root
Client application machine Client identity certificate with private key Personal or My
Client application machine CA certificates that issued the server certificate Trusted Root or Root

The client validates the server certificate, and the server validates the client certificate.

The server and client certificates can be issued by the same CA or by different CAs. When different CAs are used, each side must contain the CA certificate required to validate the certificate presented by the other side.

Note

A client certificate only needs to be installed on a cache server or Bridge node when a client application will also run from that machine.

Mutual Server-Server TLS

For mutual TLS between cache servers, each server acts as both a certificate presenter and certificate validator. Install the following on every cache server:

Required Certificate Certificate Store
Server identity certificate with private key Personal or My
Root and intermediate CA certificates used to issue certificates to the other cache servers Trusted Root or Root

If all servers use certificates issued by one CA, each server only needs to trust that CA. If different servers use certificates from different CAs, every server must trust all relevant issuing CAs.

Mutual Bridge Communication

For mutual TLS across Bridge communication, each participating endpoint must present an identity certificate and validate the certificate presented by the remote endpoint.

Machine Required Certificate Certificate Store
Each participating Bridge or cache endpoint Identity certificate with private key Personal or My
Each participating Bridge or cache endpoint CA certificates that issued the remote endpoint's identity certificate Trusted Root or Root

This establishes encrypted and authenticated communication in both directions between the participating environments.

Certificate Placement on Windows

On Windows, certificates are available through the Local Machine and Current User certificate stores. The recommended placement is:

Certificate Recommended Windows Store
Server identity certificate with private key Local Machine
Client identity certificate used by a Windows service Local Machine
Client identity certificate used by a user application Current User
Root CA certificate Local Machine
Intermediate CA certificate Local Machine

Use the Local Machine store when NCache services or multiple application accounts require access to the certificate. A certificate placed in the Current User store is only available to processes running under that specific user account.

Important

The account running the NCache Service must have permission to read the private key of the server identity certificate. For mutual TLS, the account running the client application must also have access to the private key of the client identity certificate.

NCache can search for configured certificates in the following Windows store order:

  1. Local Machine: Trusted Root
  2. Local Machine: Personal
  3. Current User: Trusted Root
  4. Current User: Personal

Although NCache can locate certificates from these stores, identity certificates should normally be placed in the Personal store and CA certificates should be placed in the Trusted Root or appropriate intermediate CA store.

Certificate Placement on Linux

On Linux, install certificates in stores accessible to the account running the NCache Service or client application.

Use the following placement:

Certificate Linux Certificate Store
Server identity certificate with private key My store
Client identity certificate with private key My store
Root and intermediate CA certificates Root or trusted certificate store

The identity certificate must include an accessible private key. The root and intermediate CA certificates establish trust in certificates presented by remote clients, servers, or Bridge endpoints.

Important

Import the certificates for the account under which the NCache process runs. A certificate imported for another user may not be accessible to the NCache Service or client application.

When locating a configured identity certificate on Linux, NCache first searches the My store. If the configured certificate is not found in My, NCache also searches the Root store.

Note

The Install-PfxCertificate tool installs a certificate in the Root store by default. To install a server or client identity certificate in the My store, specify -StoreName My when running the tool.

Self-Signed Certificates

For a self-signed certificate, the certificate acts as its own issuing authority. Therefore, place the certificate with its private key on the endpoint that presents it and place a trusted copy of the certificate in the trust store of every endpoint that must validate it.

Warning

Self-signed certificates are generally suitable for development and testing. Use certificates issued by a trusted public or private CA for production deployments.

See Also

Configure Security
Configure TLS

Contact Us

PHONE

+1 214-619-2601   (US)

+44 20 7993 8327   (UK)

 
EMAIL

sales@alachisoft.com

support@alachisoft.com

NCache
  • Edition Comparison
  • NCache Architecture
  • Benchmarks
Download
Pricing
Try Playground

Deployments
  • Cloud (SaaS & Software)
  • On-Premises
  • Kubernetes
  • Docker
Technical Use Cases
  • ASP.NET Sessions
  • ASP.NET Core Sessions
  • Pub/Sub Messaging
  • Real-Time ASP.NET SignalR
  • Internet of Things (IoT)
  • NoSQL Database
  • Stream Processing
  • Microservices
Resources
  • Magazine Articles
  • Third-Party Articles
  • Articles
  • Videos
  • Whitepapers
  • Shows
  • Talks
  • Blogs
  • Docs
Customer Case Studies
  • Testimonials
  • Customers
Support
  • Schedule a Demo
  • Forum (Google Groups)
  • Tips
Company
  • Leadership
  • Partners
  • News
  • Events
  • Careers
Contact Us

  • EnglishChinese (Simplified)FrenchGermanItalianJapaneseKoreanPortugueseSpanish

  • Contact Us
  •  
  • Sitemap
  •  
  • Terms of Use
  •  
  • Privacy Policy
© Copyright Alachisoft 2002 - . All rights reserved. NCache is a registered trademark of Diyatech Corp.
Back to top