| Control | Setting | Effect |
|---|---|---|
| Require encryption | RequireEncryption | Every connection uses TLS 1.2 or later. The Secure switch is locked on. |
| Stop self-trusted certificates | AllowUserTrust = false | Only certificates the computer trusts, or that you list, are accepted. |
| Pre-approve certificates | TrustedCertificates | SHA-256 fingerprints to accept, such as self-signed ones. |
| Smart card sign-in | SignInWithCertificate, CertificateIssuer | Sign in with the person’s certificate on every encrypted connection. |
Encryption
Turn on Secure in the connection bar to encrypt with TLS 1.2 or later from the first byte. This is the usual secure-port setup, often port 992. In Group Policy, a connection line ending in secure is always encrypted, and 992 is its default port.
WND Terminal carries no cryptography of its own. It uses the operating system’s TLS library, SChannel on Windows and Apple’s Security framework on macOS. Both are FIPS 140 validated.
How certificates are checked
WND Terminal checks the mainframe’s certificate against the computer’s trusted certificates. A certificate from your own certificate authority is accepted once that authority is deployed to the computer.
If the computer doesn’t trust a certificate, which is common with company-issued or self-signed ones, the app shows who it was issued to, by whom, its dates and its SHA-256 fingerprint, and asks the person.
Pinned certificates
When a person trusts a certificate, WND Terminal saves its fingerprint for that host in trusted-certificates.json in the app’s data folder. From then on it accepts only that exact certificate. A changed certificate is refused with a warning. A certificate trusted for the main address is accepted on a backup address only if it’s the very same certificate.
What IT can lock
RequireEncryptionrefuses unencrypted connections.AllowUserTrust= false stops people trusting certificates themselves. Certificates they trusted before are ignored.TrustedCertificateslists SHA-256 fingerprints to trust anyway. The app shows a certificate’s fingerprint when it connects, and your mainframe team can read it from the certificate. Colons are optional.
C6:2F:22:79:A8:9D:36:D9:72:57:05:68:42:92:05:76:F6:CA:6C:36:94:DE:B7:ED:89:96:02:22:D2:C3:80:ACYou can also turn off the mainframe’s unencrypted port, so no one can connect without encryption. In the browser version, people can’t trust a host certificate themselves.
Reconnecting
If the connection drops without the person disconnecting, the session reconnects by itself after 1, 2, 4 and up to 30 seconds. It stays encrypted and says so in the status line. The mainframe sees a new terminal, so people usually log on again.
Smart cards and client certificates
Mainframes set up for client certificates let people sign in with a smart card (CAC, PIV) instead of a password. That means z/OS AT-TLS with HandshakeRole ServerWithClientAuth and the certificate mapped to a RACF user ID. On a secure connection, Sign in offers two choices.
- With my smart card or a certificate on this computer. This uses the Windows certificate store or a macOS keychain, where a smart card’s certificates appear when it’s inserted. Pick one, or let WND Terminal choose. It picks a certificate that’s valid today and meant for signing in, and it tries a smart card’s certificates first. The operating system asks for the PIN, and the key never leaves the card.
- With a certificate file (.p12, .pfx). Its password is asked for when connecting and never saved. The file is copied into the app’s
client-certificatesfolder, still protected by its password.
If the host wants a certificate and none was given, or rejects the one sent, the app tells the person what went wrong. The status line shows Certificate when one signed in. Printer sessions sign in the same way as their terminal.
IT can turn this on for everyone with SignInWithCertificate. CertificateIssuer, such as DOD ID CA, picks among several certificates. For one connection only, set SignInWithCertificate on the connection or end its Group Policy line with |smartcard.