en
Guides
Securing Applications
Specifications implemented
enGuidesSecuring ApplicationsSpecifications

Specifications implemented

This guide presents a list of specifications and standards that NQRust-Identity currently implements. The standards are separated in different sections and, in each one, a table is shown with the following four columns:

  • Specification: The standard or specification that NQRust-Identity implements.

  • Status: The current status of the implementation inside NQRust-Identity (supported, preview, experimental,…​). See Enabling and disabling features for more information.

  • Conformity: Assurance of conformity of the implementation.

    • Certified (version): The specification provides conformance tests that NQRust-Identity executes periodically and for each new version. The version in brackets is the last version of NQRust-Identity certified by the authority.
    • Passed: There are conformance tests provided by the authority that NQRust-Identity passes, but no version is certified yet.
    • Partial: There are conformance tests but NQRust-Identity is not yet fully passing them.
    • If this column is empty means that NQRust-Identity does not pass any external conformance tests for the spec. Only common project integration tests are executed. Maybe the authority does not provide a conformance tests suite or NQRust-Identity is not interested in passing them.
  • Comments: A generic column that can contain details of the implementation or the status. For example parts that are not covered yet or specific behaviors out of the spec.

OpenID Connect

SpecificationStatusConformityComments
OpenID Connect Core (opens in a new tab)SupportedCertified (18.0.0)
OpenID Connect Discovery (opens in a new tab)SupportedCertified (18.0.0)
OpenID Connect Dynamic Client Registration (opens in a new tab)SupportedCertified (18.0.0)
OpenID Connect Session Management (opens in a new tab)SupportedCertified (18.0.0)
OpenID Connect RP-Initiated Logout (opens in a new tab)SupportedCertified (18.0.0)
OpenID Connect Back-Channel Logout (opens in a new tab)SupportedCertified (18.0.0)
OpenID Connect Front-Channel Logout (opens in a new tab)SupportedCertified (18.0.0)
OpenID Connect Client-Initiated Backchannel Authentication Flow (opens in a new tab)SupportedCertified (18.0.0)
OAuth 2.0 Multiple Response Type Encoding Practices (opens in a new tab)SupportedCertified (18.0.0)
OAuth 2.0 Form Post Response Mode (opens in a new tab)SupportedCertified (18.0.0)
Initiating User Registration via OpenID Connect 1.0 (opens in a new tab)Supported
OpenID for Verifiable Credential Issuance (opens in a new tab) (OID4VCI)ExperimentalSee Configuring NQRust-Identity as a Verifiable Credential Issuer
OAuth Client ID Metadata Document (opens in a new tab)ExperimentalSee Integrating with Model Context Protocol (MCP).

OAuth

SpecificationStatusConformityComments
The OAuth 2.0 Authorization Framework (RFC 6749) (opens in a new tab)Supported
The OAuth 2.1 Authorization Framework (opens in a new tab) (Draft)Supported
The OAuth 2.0 Authorization Framework: Bearer Token Usage (RFC 6750) (opens in a new tab)Supported
OAuth 2.0 Token Introspection (RFC 7662) (opens in a new tab)Supported
OAuth 2.0 Token Revocation (RFC 7009) (opens in a new tab)Supported
Proof Key for Code Exchange by OAuth Public Clients (RFC 7636) (opens in a new tab)Supported
OAuth 2.0 Dynamic Client Registration Protocol (RFC 7591) (opens in a new tab)Supported
OAuth 2.0 Dynamic Client Registration Management Protocol (RFC 7592) (opens in a new tab)Supported
OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens (RFC 8705) (opens in a new tab)Supported
OAuth 2.0 Pushed Authorization Requests (RFC 9126) (opens in a new tab)Supported
Assertion Framework for OAuth 2.0 Client Authentication and Authorization Grants (RFC 7521) (opens in a new tab)Supported
JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants (RFC 7523) (opens in a new tab)Supported
OAuth 2.0 Authorization Server Metadata (RFC 8414) (opens in a new tab)Supported
OAuth 2.0 Device Authorization Grant (RFC 8628) (opens in a new tab)Supported
OAuth 2.0 Token Exchange (RFC 8693) (opens in a new tab)Supported (see comments)Token exchange V2 only supports the internal to internal use-case, so the specification is only partially supported now. See Configuring and using token exchange for more information.
The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR) (RFC 9101) (opens in a new tab)Supported
OAuth 2.0 Authorization Server Issuer Identification (RFC 9207) (opens in a new tab)Supported
OAuth 2.0 Demonstrating Proof of Possession (DPoP) (RFC 9449) (opens in a new tab)Supported

Financial-grade API (FAPI)

SpecificationStatusConformityComments
Financial-grade API Security Profile 1.0 - Part 1: Baseline (opens in a new tab)SupportedCertified (15.0.2)
Financial-grade API Security Profile 1.0 - Part 2: Advanced (opens in a new tab)SupportedCertified (15.0.2)
Financial-grade API: JWT Secured Authorization Response Mode for OAuth 2.0 (JARM) (opens in a new tab)SupportedCertified (15.0.2)
Financial-grade API: Client Initiated Backchannel Authentication Profile (opens in a new tab) (Draft)SupportedCertified (15.0.2)
FAPI 2.0 Security Profile (opens in a new tab)SupportedPassed
FAPI 2.0 Message Signing (opens in a new tab)SupportedPassed

Security Assertion Markup Language (SAML)

SpecificationStatusConformityComments
Security Assertion Markup Language (SAML) v2.0 (opens in a new tab)SupportedThis standard covers multiple bindings and contexts. NQRust-Identity implements a full range of them but there are missing parts for sure.

User Managed Access (UMA)

SpecificationStatusConformityComments
User-Managed Access (UMA) 2.0 Grant for OAuth 2.0 Authorization (opens in a new tab)Supported
Federated Authorization for User-Managed Access (UMA) 2.0 (opens in a new tab)Supported

JSON Web

SpecificationStatusConformityComments
JSON Web Signature (JWS) (RFC 7515) (opens in a new tab)Supported
JSON Web Encryption (JWE) (RFC 7516) (opens in a new tab)Supported
JSON Web Key (JWK) (RFC 7517) (opens in a new tab)Supported
JSON Web Algorithms (JWA) (RFC 7518) (opens in a new tab)Supported
JSON Web Token (RFC 7519) (opens in a new tab)Supported
CFRG Elliptic Curve Diffie-Hellman (ECDH) and Signatures in JSON Object Signing and Encryption (JOSE) (RFC 8037) (opens in a new tab)Supported

Misc

SpecificationStatusConformityComments
Security Requirements for Cryptographic Modules (FIPS 140-2) (opens in a new tab)SupportedCertifiedNQRust-Identity uses Bouncy Castle (BC) (opens in a new tab) FIPS libraries to provide FIPS 140-2. BC is indeed a certified FIPS 140-3 implementation, but also needs a certified stack (Operative system and Java VM). See FIPS 140-2 support for more information.
Web Authentication:
An API for accessing Public Key Credentials Level 2 (opens in a new tab)
SupportedThis specification has conformance tests but NQRust-Identity is not using them. NQRust-Identity acts as a WebAuthn’s Relying Party (RP) for this specification.