SAML Metadata Validator
Review SAML metadata XML for import blockers across roles and endpoints with local checks for certificate dates, refresh validity and signature presence.{{ summaryTitle }}
{{ summaryLine }}
| Area | Status | Evidence | Recommended action | Copy |
|---|---|---|---|---|
| {{ row.area }} | {{ row.status }} | {{ row.evidence }} | {{ row.action }} |
| Entity | Role | Protocol | Endpoints | Keys | Refresh window | Copy |
|---|---|---|---|---|---|---|
| {{ row.entity }} | {{ row.role }} | {{ row.protocol }} | {{ row.endpoints }} | {{ row.keys }} | {{ row.refresh }} |
| Entity | Role | Service | Binding | Location | Status | Copy |
|---|---|---|---|---|---|---|
| {{ row.entity }} | {{ row.role }} | {{ row.service }} | {{ row.binding }} | {{ row.url }} | {{ row.status }} |
| Entity | Role/use | Valid until | Days left | SHA-256 fingerprint | Status | Copy |
|---|---|---|---|---|---|---|
| {{ row.entity }} | {{ row.role_use }} | {{ row.valid_until }} | {{ row.days_left }} | {{ row.fingerprint }} | {{ row.status }} | |
| No embedded X.509 certificate rows were found. | ||||||
The chart renderer is unavailable. The readiness score and control matrix remain available.
Security Assertion Markup Language (SAML) metadata is the configuration contract that lets identity providers and service providers recognize one another. It names each entity, declares its SAML role, lists protocol endpoints and bindings, publishes key material, and may set refresh or expiry bounds. An import can fail even when the XML is well formed because the expected role, endpoint, or signing certificate is missing.
A service provider (SP) consumes assertions and normally publishes at least one Assertion Consumer Service (ACS) endpoint. An identity provider (IdP) authenticates users and publishes Single Sign-On Service endpoints plus signing key material. Federation aggregates can contain many entities and usually need tighter signature, uniqueness, size, and refresh controls than a one-partner exchange.
- Entity identifier
- A stable
entityIDthat partners use to distinguish one SAML entity from another. It is an identifier, not necessarily a page that a browser should open. - Binding
- The transport profile for a service, such as HTTP-POST or HTTP-Redirect.
- Location
- The absolute URL where the declared service is available. Production exchange normally expects HTTPS.
- Key descriptor
- Published X.509 certificate material used for signing or encryption according to the role and partner policy.
Certificate dates and metadata validity answer different questions. An embedded certificate may expire while the surrounding metadata is still current, or metadata may need refreshing while its certificate remains valid for years. Rollover planning therefore needs both the certificate's validity period and the metadata's validUntil or refresh policy.
Signature presence is also different from signature trust. Finding a Signature element can satisfy a policy that requires signed metadata to be present, but only cryptographic verification against an approved trust anchor can prove that the signature is valid and covers the intended content.
An import-readiness review is a preflight check. It can expose malformed structure, role mismatches, endpoint policy problems, expired material, and missing declarations before partner exchange. It cannot prove that the remote service is reachable, that keys are trusted, or that an end-to-end login will succeed.
How to Use This Tool:
Choose the receiving system's expected metadata shape before pasting XML. A valid IdP document can still be wrong for an SP-metadata import profile.
- Select the Review profile for service provider, identity provider, federation aggregate, or automatic inventory.
- Choose an Endpoint policy that matches production, strict signed exchange, or lab use. The policy classifies declared URLs; it does not contact them.
- Paste or load the current SAML metadata XML, then set the UTC Evaluation date for the planned import or review.
- Set the certificate warning horizon, maximum accepted metadata validity, signature requirement, default ACS policy, and intended entity cap.
- Read the verdict and Metadata Control Matrix first. Resolve every Blocker before partner import and inspect each Review finding against the receiving product's policy.
- Compare the role, endpoint, and certificate ledgers with the partner handoff, then verify signatures and connectivity in the actual SAML stack.
Interpreting Results:
Import blockers means at least one required structural or policy condition failed. Review needed means no blockers were found, but an endpoint, certificate, validity window, entity count, protocol declaration, or optional policy still needs judgment. Import-ready snapshot means every evaluated finding passed for the selected inputs.
Do not use the percentage by itself. A single blocker lowers the score by 25 points, but the blocker name tells you what prevents import. After a clean snapshot, verify XML signatures with the consumer, test endpoint reachability, confirm trusted fingerprints, and complete an actual SAML login flow.
Technical Details:
The document must have one XML root and remain within 200,000 characters, 5,000 elements, and 64 levels of nesting. The accepted SAML metadata roots are EntityDescriptor and EntitiesDescriptor in the SAML 2.0 metadata namespace. Entity identifiers must be present, unique within the file, contain no whitespace, and be no longer than 1,024 characters.
Rule Core
The selected profile determines which role evidence is required, while the endpoint policy controls how declared locations are classified.
| Area | Pass evidence | Important blocker or review condition |
|---|---|---|
| Role | The requested SP or IdP descriptor is present, or inventory mode finds a supported role. | No supported role or a profile mismatch blocks. |
| SP services | At least one ACS endpoint exists. | Missing ACS blocks; multiple ACS endpoints without a required default marker need review. |
| IdP services | At least one SSO endpoint and one signing or unspecified X.509 candidate exist. | Missing SSO or signing key material blocks. |
| Binding and Location | Binding is from the common SAML 2.0 set and Location is a usable absolute HTTPS URL. | Missing values or a non-absolute URL block; unknown bindings and non-HTTPS locations are classified by the selected policy. |
| Certificate | DER, not-before, and not-after values parse and include the evaluation date. | Unreadable, not-yet-valid, or expired material blocks; expiry on or inside the warning horizon needs review. |
| Metadata validity | validUntil is later than the evaluation date and within the selected maximum horizon. | Expired or unreadable values block; missing or overlong validity needs review. |
| Signature presence | A Signature element exists when explicitly required or when reviewing an aggregate. | Missing required presence blocks; detected presence never proves cryptographic validity. |
Known endpoint bindings include HTTP-POST, HTTP-Redirect, HTTP-Artifact, SOAP, and PAOS. Under strict HTTPS, any non-HTTPS location blocks. The production policy marks non-HTTPS locations for review, while the lab policy permits local-host testing more leniently. Missing Binding or Location always blocks.
Formula Core
The readiness percentage is an operator heuristic. Each Blocker subtracts 25 points and each Review subtracts 8 points; the result is clamped to the inclusive range 0 to 100.
B is the blocker count and R is the review count. The verdict uses counts directly: any blocker yields Import blockers; otherwise any review yields Review needed; only zero blockers and zero reviews yields Import-ready snapshot.
Certificate inspection decodes the embedded X.509 data, reads validity times, and calculates a SHA-256 fingerprint. It does not build a trust chain, check revocation, evaluate certificate purpose, or validate the XML signature. Those checks belong in the receiving SAML product or a dedicated signature-validation workflow.
Limitations and Privacy Notes:
The XML is parsed locally and no declared endpoint is contacted. Metadata is often public, but it can still reveal internal hostnames, partner identifiers, certificate rollover timing, and topology that should not be placed in public tickets without review.
- Signature presence is not cryptographic signature verification.
- Certificate dates and fingerprints do not establish trust, revocation status, or correct signing use.
- Endpoint syntax and policy do not prove DNS resolution, TLS trust, reachability, or successful SAML messages.
- The readiness penalties, warning horizon, validity horizon, and entity cap are selected review policies rather than fixed OASIS requirements.
Worked Examples:
An IdP document without a signing key
An IdP descriptor can have the correct namespace, entity identifier, SAML 2.0 protocol declaration, HTTPS Single Sign-On Service, and valid refresh window yet still be unfit for import. If it publishes no signing or unspecified X.509 candidate, that missing key is one Blocker. The readiness score becomes 75, but the actionable conclusion is Import blockers until the IdP publishes appropriate key material.
References:
- Metadata for the OASIS Security Assertion Markup Language (SAML) V2.0, OASIS, 15 March 2005.
- SAML V2.0 Metadata Interoperability Profile Version 1.0, OASIS, 4 August 2009.
- Bindings for the OASIS Security Assertion Markup Language (SAML) V2.0, OASIS, 15 March 2005.