Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Xmlseclibs Laravel Package

robrichards/xmlseclibs

xmlseclibs is a PHP library for XML Encryption and Signatures, offering safe-by-default verification, pinned keys, algorithm allowlists, RSA-OAEP/AES-GCM support, and low-level primitives for legacy XML security workflows.

View on GitHub
Deep Wiki
Context7
4.0.0-beta2

xmlseclibs 4.0.0-beta2

PHP 8.0+ and phpseclib/phpseclib ~3.0 required; OpenSSL is optional. This is a beta — APIs and defaults may still change before 4.0.0 final.

Highlights

  • Crypto moved to phpseclib (symmetric, RSA, RSA-OAEP, X.509); RSA-PSS (RSA_SHA256_MGF1) supported
  • Safe-by-default verifyDocument() — pinned key, algorithm allowlists, validated node set
  • enableLegacyMode() for temporary pre-4.0 interop while migrating peers
  • Compact templates via stripWhitespace; omit_uri for references without a URI; extensibility via protected members (#152)

Security (breaking defaults)

  • DOCTYPE rejected on signature verify (entity-ref / Id bypass; same class of issue as CVE-2025-23369); also rejected in decrypted XML
  • XPath Filtering Transforms rejected on verify by default (pre-auth DoS); capped when enabled
  • RSA-1.5 key transport denied on decrypt by default; uniform decrypt errors (no padding oracle)
  • verify() always binds SignatureMethod to the supplied key; HMAC cannot be loaded from certs/PEM
  • References fail closed (unknown transforms, external/duplicate-Id URIs, unknown C14N)
  • SSRF hardening on add509Cert() URL fetch; EncryptedKey/RetrievalMethod depth caps; hash_equals for digests/HMAC

Other

  • Configurable transforms element; setSignatureId(); clearer throws when signature context is missing
  • Interop: whitespace-stripped signature/EncryptedData templates for C# SignedXml / Python signxml-style peers
  • PHP 8 / static-analysis hardening; PHP 8.5 deprecation fix in makeAsnSegment()

Migration

Prefer verifyDocument() with a pinned key. Use enableLegacyMode() only while updating peers — it restores DOCTYPE-on-verify, XPath transforms, and RSA-1.5; it does not undo algorithm/key binding, uniform decrypt errors, or decrypted-XML DOCTYPE rejection. Prefer RSA-OAEP and AES-GCM for new deployments.

Full detail: CHANGELOG.txt (4.0.0-beta2) and the “Breaking changes (3.1 → 4.0)” section in README.md.

4.0.0

xmlseclibs 4.0.0

PHP 8.0+ and phpseclib/phpseclib ~3.0 required; OpenSSL is optional.

Highlights

  • Crypto moved to phpseclib (symmetric, RSA, RSA-OAEP, X.509); RSA-PSS (RSA_SHA256_MGF1) supported
  • Safe-by-default verifyDocument() — pinned key, algorithm allowlists, validated node set
  • enableLegacyMode() for temporary pre-4.0 interop while migrating peers
  • Compact templates via stripWhitespace; omit_uri for references without a URI; extensibility via protected members (#152)

Security (breaking defaults)

  • DOCTYPE rejected on signature verify (entity-ref / Id bypass; same class of issue as CVE-2025-23369); also rejected in decrypted XML
  • XPath Filtering Transforms rejected on verify by default (pre-auth DoS); capped when enabled
  • RSA-1.5 key transport denied on decrypt by default; uniform decrypt errors (no padding oracle)
  • verify() always binds SignatureMethod to the supplied key; HMAC cannot be loaded from certs/PEM
  • References fail closed (unknown transforms, external/duplicate-Id URIs, unknown C14N)
  • SSRF hardening on add509Cert() URL fetch; EncryptedKey/RetrievalMethod depth caps; hash_equals for digests/HMAC

Other

  • Configurable transforms element; setSignatureId(); clearer throws when signature context is missing
  • Interop: whitespace-stripped signature/EncryptedData templates for C# SignedXml / Python signxml-style peers
  • PHP 8 / static-analysis hardening; PHP 8.5 deprecation fix in makeAsnSegment()

Migration

Prefer verifyDocument() with a pinned key. Use enableLegacyMode() only while updating peers — it restores DOCTYPE-on-verify, XPath transforms, and RSA-1.5; it does not undo algorithm/key binding, uniform decrypt errors, or decrypted-XML DOCTYPE rejection. Prefer RSA-OAEP and AES-GCM for new deployments.

Full detail: CHANGELOG.txt (4.0.0) and the “Breaking changes (3.1 → 4.0)” section in README.md.

Full Changelog: https://github.com/robrichards/xmlseclibs/compare/3.1.5...4.0.0

3.1.5

Validate AES-GCM Authentication Tag

3.1.4

fix canonicalization error

3.1.3

Removes BC breaking change

3.1.2

Add tab to list of whitespace values to remove from cert loadKey should check return value for openssl_get_privatekey Switch to GitHub actions Support OAEP (from unreleased 3.1.1)

3.1.0

Add support for AES-GCM encryption Minor improvements and bug fixes

3.0.4

Security Release for CVE-2019-3465

2.1.1

Security release

2.1.0

Backports changes from 3.0 branch. This will be the last supported release from 2.x branch

3.0.3

Add PHP 7.3 support

3.0.2

Mainly security related release. See Changelog for more details

3.0.0
1.4.2
2.0.1
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast
xeviant/laravel-paystack
gorilladash/laravel-website-sdk
martialbe/flysystem-oss
chondal/3312client
jeroen-g/flickr
opscale-co/nova-genbi
itsjustvita/laravel-retention
tequilarapido/trackit
gregsphotography/site-builder-filament
cabaoctavio/laravel-query-log
gregsphotography/site-builder-components
io-digital/clickatell
snowsoft/laravel-admin
oxygen/auth
relicsoftware/barakah-payment-gateway
tobya/work-with-composer
equipc/laravel-email-validator