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

What is this certificate for?

Paste the server certificate first, then its intermediates, up to 10 certificates. Never paste a private key: the checker refuses it.

The AAA server name or home domain in your Passpoint profile. Matched as a domain suffix, the way Android does.

Checked in memory and never stored. Nothing connects to your RADIUS server.

What 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 policy 1.3.6.1.4.1.14122.1.1.6 fail.
  • 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.
WBA OpenRoaming issuing CAs
Issuing CAPolicyStatus
WBA issuing1, Cisco issuing1, Google issuing1.1.1.7Current
WBA issuing0, Cisco issuing0.1.1.6Legacy policy
Google issuing0legacy hierarchyExpired July 31, 2025
Kyrio issuing0.1.1.6Expired December 25, 2025

Frequently asked questions

What is the difference between the EAP and RadSec certificate?+
The EAP certificate is the one FreeRADIUS shows to phones and laptops while they authenticate to the Wi-Fi network, so it has to be trusted by the devices themselves. The RadSec certificate secures RADIUS over TLS between OpenRoaming members, usually on port 2083, and is issued under the WBA OpenRoaming PKI. Most identity providers need both.
Why does my EAP certificate fail with a private CA?+
OpenRoaming and Passpoint profiles normally do not carry their own CA certificate, so Android and iOS check the EAP server against the public roots on the device and the server name in the profile. A private CA, a self-signed certificate or a WBA certificate is refused, and Android shows no prompt to accept it. Use a certificate from a public CA that includes the server name from your profile.
What does "issued by an expired WBA issuing CA" mean?+
Two issuing CAs in the WBA PKI have reached their end date: Google issuing0 on July 31, 2025 and Kyrio issuing0 on December 25, 2025. Certificates they signed can no longer be validated, even if the certificate’s own date is still in the future. Request a new certificate from your OpenRoaming certificate provider under a current issuing1 CA.
What is the legacy OpenRoaming policy OID?+
Certificates from the original hierarchy carry the policy 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?+
Paste the server certificate first, followed by its intermediates, in PEM format. For FreeRADIUS this is the file set as 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?+
Run 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?+
No. Certificates are checked in memory and discarded, and the request body is never logged. Certificates are public by design, but never paste a private key: the checker rejects key-only input and fails PEM formatting if a key is mixed into the chain file.
What order should certificates be in for FreeRADIUS and RadSec?+
Put the server (leaf) certificate first, then each intermediate in turn. FreeRADIUS 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?+
FreeRADIUS and OpenSSL read PEM one line at a time and expect each -----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?+
No. It only reads what you paste. To check revocation it contacts the OCSP responder or CRL address listed in the certificate itself, and only when that address is a public web address.

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 account

The Free plan includes 10 uptime monitors checked every 3 minutes. See all plans.

More free tools