Free tool
OpenRoaming Certificate Checker
Paste the EAP server certificate from FreeRADIUS or your RadSec certificate and see whether OpenRoaming devices and peers will accept it: chain of trust, WBA PKI path, policy, key usage, names, expiry and revocation.
Check a certificate
Checking the chain and revocation status…
- Profile
- Trust
- Checks
Checks
Chain
Fixed fullchain.pem
FreeRADIUS certificate_file and RadSec: use without the root. Include the root only if your peer needs the trust anchor in the file.
Certificate chain
This is a one-time check of what you paste. UptimeDuck doesn't monitor OpenRoaming certificates automatically. A free account monitors the uptime of your websites, servers and TCP ports.
Create a free accountWhat the OpenRoaming certificate checker looks at
An OpenRoaming identity provider runs two kinds of certificate, and they follow different rules. Pick the profile that matches where the certificate is used.
EAP server certificate check
This is the certificate FreeRADIUS presents to phones and laptops during EAP-TLS, EAP-TTLS or PEAP. Passpoint profiles usually carry no CA of their own, so Android and iOS validate it against the public roots built into the device and match the server name from the profile as a domain suffix. The checker fails the certificate when a device would refuse it:
- Public chain of trust: it must lead to a publicly trusted root. Private CAs, self-signed certificates and WBA certificates are rejected by devices.
- Full chain: FreeRADIUS has to send the intermediates, because devices do not download missing ones during EAP.
- Server authentication: the extended key usage must include TLS Web Server Authentication.
- Server name: the DNS names must match the AAA server name in your profile. A name only in the common name is reported as a warning.
- Validity, keys and signatures: expiry, RSA of at least 2048 bits or P-256/P-384/P-521, no SHA-1, and revocation status.
RadSec certificate check
RadSec carries RADIUS over TLS between OpenRoaming members, usually on port 2083, and both sides authenticate with certificates from the WBA OpenRoaming PKI. The checker builds the path to a WBA root using the published WBA certificates and reports:
- WBA chain of trust: the certificate must chain to a WBA root. Current certificates chain to WBA root1 through policy1 and an issuing1 CA. If you paste only the server certificate, the checker completes the chain from the WBA bundle and reminds you to send the full chain.
- Retired issuing CAs: certificates from Google issuing0 (expired July 31, 2025) or Kyrio issuing0 (expired December 25, 2025) fail, with the CA named in the result.
- Policy: the current OpenRoaming policy OID is
1.3.6.1.4.1.14122.1.1.7. Certificates under the legacy policy1.3.6.1.4.1.14122.1.1.6fail. - Client and server use: RadSec peers both connect and accept connections, so the certificate should allow TLS client and server authentication.
- Identity: the WBAID in the subject UID, a contact email and your realm names.
| Issuing CA | Policy | Status |
|---|---|---|
| WBA issuing1, Cisco issuing1, Google issuing1 | .1.1.7 | Current |
| WBA issuing0, Cisco issuing0 | .1.1.6 | Legacy policy |
| Google issuing0 | legacy hierarchy | Expired July 31, 2025 |
| Kyrio issuing0 | .1.1.6 | Expired December 25, 2025 |
Frequently asked questions
What is the difference between the EAP and RadSec certificate?+
Why does my EAP certificate fail with a private CA?+
What does "issued by an expired WBA issuing CA" mean?+
What is the legacy OpenRoaming policy OID?+
1.3.6.1.4.1.14122.1.1.6. The current hierarchy under WBA root1 uses 1.3.6.1.4.1.14122.1.1.7. The checker fails certificates under the legacy policy and tells you which CA issued them.Which certificates should I paste?+
certificate_file in the EAP module, which should already contain the full chain. Root certificates are optional. Up to 10 certificates fit in one check.How do I get the RadSec certificate from a running server?+
openssl s_client -connect radsec.example.net:2083 -showcerts and copy every certificate block from the output. RadSec servers usually ask for a client certificate, so the handshake may stop after the server has sent its chain; the certificates are printed either way.Are my certificates stored?+
What order should certificates be in for FreeRADIUS and RadSec?+
certificate_file and RadSec servers should send that chain and normally leave the root out: clients already have the trust anchor. If you paste certificates in the wrong order or omit an intermediate, this checker lists what is wrong and offers a corrected fullchain.pem you can copy.Why does END CERTIFICATE and BEGIN CERTIFICATE on one line break FreeRADIUS?+
-----BEGIN CERTIFICATE----- and -----END CERTIFICATE----- marker on its own line. If you join files with cat and the first file has no trailing newline, the END of one certificate and the BEGIN of the next land on the same line, so the rest of the chain is ignored. Make sure each PEM file ends with a newline before concatenating, for example printf '\n' >> server.pem && cat server.pem intermediate.pem > fullchain.pem. This checker flags that mistake and offers a cleaned fullchain.Does the checker connect to my RADIUS server?+
Uptime monitoring for your websites and servers
UptimeDuck checks websites, servers and TCP ports and alerts you by email, Slack, Discord and more when something stops answering. Certificates pasted here are checked once and are not monitored.
Create a free accountThe Free plan includes 10 uptime monitors checked every 3 minutes. See all plans.