# Install xmlsectool with Homebrew

Check schema validity and signature of an XML document. Version 4.0.0 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:xmlsectool
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install xmlsectool
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:xmlsectool
- **Package manager:** Homebrew
- **Version:** 4.0.0
- **Source summary:** Check schema validity and signature of an XML document
- **Homepage:** <https://wiki.shibboleth.net/confluence/display/XSTJ3/xmlsectool+V3+Home>
- **Last updated:** 2026-06-22T14:06:42-07:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- xmlsectool (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 4.0.0
## Project history and usage

xmlsectool is a Shibboleth Java command-line tool for downloading XML, checking well-formedness and schema validity, verifying XML signatures, and creating enveloped XML signatures. Its main cultural home is SAML metadata operations rather than generic XML editing.

### Project history

The tool grew inside the Shibboleth ecosystem as a deployer utility for XML security work. Its documentation is organized by major supported series, with V3 now archived and V4 identified as the current supported line.

Version 2.0.0 was announced in June 2016 as a new stable release based on the Shibboleth v3 Identity Provider software stack. That release was intended as a drop-in replacement for most 1.2.0 users, while moving the tool to Java 7 or later, making SHA-256 the default signing digest, and blacklisting SHA-1 by default.

Version 4.0.0 was released on 2025-04-16. The V4 documentation states that V4 is the only supported release line, requires Java 17, removes options deprecated in V3, and adds a --version option.

### Adoption history

xmlsectool's adoption follows Shibboleth and SAML federation operations: operators need to validate and sign metadata, verify downloaded metadata, and sometimes use token-backed signing credentials. Its presence in the Shibboleth announcement channel and deployer documentation shows it is maintained as operational security tooling, not just an example program.

### How it is used

Typical use cases include validating SAML metadata schemas, verifying XML signatures before trusting metadata, signing SAML 2.0 metadata with explicit reference ID handling, selecting digest and signature algorithms, and using PKCS#11-backed credentials through Java security providers.

### Why package nerds care

xmlsectool is the kind of security package that package nerds care about because it turns a hard-to-compose Java XML security stack into one auditable command. The package boundary is useful: a CLI can be pinned, upgraded, scripted, and documented independently of an identity provider deployment.

### Timeline

- 2016-06-28: Shibboleth announced xmlsectool 2.0.0 and the end of 1.x support.
- 2025-04-16: xmlsectool 4.0.0 was released as the current stable release.
- 2025-04-16: Security maintenance for xmlsectool 3.0.0 and earlier ceased, making V4 the only supported release.

### Related projects

- Related projects and technologies include Shibboleth Identity Provider, Shibboleth Service Provider, SAML 2.0 metadata, XML Signature, Apache Santuario-style XML security libraries, Java security providers, and PKCS#11 hardware tokens.

### Sources

- <https://shibboleth.atlassian.net/wiki/spaces/XSTJ4/overview>
- <https://shibboleth.atlassian.net/wiki/spaces/XSTJ4/pages/4227465285>
- <https://shibboleth.atlassian.net/wiki/spaces/XSTJ4/pages/4227465345>
- <https://shibboleth.atlassian.net/wiki/spaces/XSTJ4/pages/4227465365>
- <https://shibboleth.net/pipermail/announce/2016-June/000148.html>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Combined YAML source

View the package source record on GitHub. [combined/xmlsectool.yml](https://github.com/mxcl/pkgdb/blob/main/combined/xmlsectool.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- cross-ecosystem install command graph
