Skip to content

Commit a2e146a

Browse files
author
kasemir
committed
clarify
1 parent 6742f5f commit a2e146a

File tree

1 file changed

+27
-15
lines changed

1 file changed

+27
-15
lines changed

core/pva/TLS.md

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,18 @@
1-
Secure Socket Support
2-
=====================
1+
Secure PV Access
2+
================
33

44
By default, the PV Access server and client will use plain TCP sockets to communicate.
5-
Secure PV Access uses encrypted Transport Layer Security (TLD) sockets.
5+
Secure PV Access uses Transport Layer Security (TLS) sockets.
6+
TLS sockets, also known as secure sockets, are encrypted.
67
Clients will only communicate with trusted servers, and servers can
78
determine the identity of their clients in a trusted way.
89

10+
Secure PV Access is under development for PVXS, the current C++ implementation
11+
of PV Access. This java implementation aims to be compatible with recent versions of PVXS.
12+
Secure PV Access is not supported in the original C++ (pvAccessCpp) and Java (pvAccessJava) implementations,
13+
but PVXS and this java library can still communicate with the original implementations
14+
using plain TCP sockets.
15+
916
TLS relies on private and public encryption key pairs, where public keys are
1017
exchanged in the form of certificates.
1118
In a secure EPICS environment, the PV Access Certificate Management Service (pvacms)
@@ -16,18 +23,20 @@ validity.
1623
PV Access Certificate Management Service (pvacms)
1724
=================================================
1825

19-
An EPICS administrator needs to deploy pvacms as a service and maintain
20-
certificates for servers (IOCs) and clients (users running CS-Studio).
26+
An EPICS administrator needs to deploy `pvacms` as a service and maintain
27+
certificates for servers (IOCs) and clients (users running CS-Studio
28+
as well as IOCs reading from other IOCs).
2129
This is an example recipe for getting started.
2230

23-
1) Build EPICS base and pvxs as described on
31+
1) Build EPICS base and PVXS as described on
2432
https://george-mcintyre.github.io/pvxs/spvaqstart.html
2533

2634
2) Start `pvacms -v`. It will create several files, including
2735

2836
* `~/.config/pva/1.3/admin.p12`: Certificate for the `admin` user
2937

30-
3) Request a server (IOC) certificate, note its "Certificate identifier":
38+
3) For an IOC, request a hybrid server and client certificate.
39+
Note its "Certificate identifier":
3140

3241
```
3342
$ authnstd --name ioc --cert-usage hybrid
@@ -43,7 +52,7 @@ This is an example recipe for getting started.
4352
Approve ==> CERT:STATUS:e53ed409:15273288300286014953 ==> Completed Successfully
4453
```
4554

46-
* `~/.config/pva/1.3/server.p12`: Our server (IOC) certificate
55+
* `~/.config/pva/1.3/server.p12`: Our server certificate (hybrid, for IOC)
4756

4857
4) Request a client certificate, note its identifier:
4958

@@ -64,8 +73,8 @@ This is an example recipe for getting started.
6473
* `~/.config/pva/1.3/client.p12`: Our client (user) certificate
6574

6675

67-
You now have a server and client certificate.
68-
To check the status:
76+
You now have a server and a client certificate.
77+
Example for checking the status:
6978

7079
```
7180
$ pvxcert -f ~/.config/pva/1.3/client.p12
@@ -80,15 +89,16 @@ Status : VALID
8089
```
8190

8291
To list certificate details:
92+
8393
```
8494
keytool -list -v -keystore ~/.config/pva/1.3/client.p12 -storepass ""
8595
```
8696

87-
8897
For a test setup, all the above can be executed by a single user on one host.
89-
In a production setup, however, human user clients should only have a client.p12 file.
90-
Pseudo-users running IOCs would have a server.p12 file,
91-
and only an admin user on a designated host would have the remaining pvacms files.
98+
In a production setup, however, each human user should only have access to their own `client.p12` file.
99+
Pseudo-users running IOCs would have a `server.p12` file.
100+
Only an admin user on a designated host would have access to the remaining `pvacms` files,
101+
including the `admin.p12` file that permits accepting and revoking certificates.
92102

93103

94104
Secure IOC
@@ -123,6 +133,8 @@ $ phoebus.sh
123133
```
124134

125135

136+
For more, refer to the PVXS documentation.
137+
126138

127139
--------------------------------------------------------
128140

@@ -131,7 +143,7 @@ Manually creating certificates
131143
==============================
132144

133145
In this section we describe an earlier approach to creating certificates.
134-
It is left for reference, the preferred method is now pvacms.
146+
It is left for reference, the suggested approach is now based on `pvacms`.
135147

136148
We start with a minimal setup for initial tests.
137149

0 commit comments

Comments
 (0)