https://github.com/litsec/eidas-opensaml
OpenSAML extensions for the eIDAS Framework
https://github.com/litsec/eidas-opensaml
eidas eidas-framework eidas-opensaml opensaml opensaml-extensions
Last synced: 5 months ago
JSON representation
OpenSAML extensions for the eIDAS Framework
- Host: GitHub
- URL: https://github.com/litsec/eidas-opensaml
- Owner: litsec
- License: apache-2.0
- Created: 2016-06-23T19:57:06.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2024-05-23T11:50:01.000Z (about 2 years ago)
- Last Synced: 2025-07-03T19:48:38.730Z (11 months ago)
- Topics: eidas, eidas-framework, eidas-opensaml, opensaml, opensaml-extensions
- Language: Java
- Size: 6.04 MB
- Stars: 15
- Watchers: 5
- Forks: 3
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

------
# eidas-opensaml
[](https://opensource.org/licenses/Apache-2.0) [](https://maven-badges.herokuapp.com/maven-central/se.litsec.eidas/eidas-opensaml4)
OpenSAML extensions for the eIDAS Framework.
---
**Note**: For OpenSAML 5 support, please use the https://github.com/swedenconnect/opensaml-eidas repository. This repo will only support
earlier versions of OpenSAML ...
> Note: Support for OpenSAML 2.X and 3.X has been discontinued. The last release of eidas-opensaml supporting OpenSAML 2.X is 1.0.6 and the last release supporting OpenSAML 3.X is 1.4.5.
---
eIDAS (EU REGULATION [910/2014](http://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32014R0910&from=EN) on electronic identification and trust services for electronic transactions in the European internal market) defines requirements on cross-border recognition of electronic identification means in EU.
The eIDAS technical specifications defines a number of SAML elements and attribute definitions which are normally not supported by standard SAML software. The **eidas-opensaml** Open Source Java library extends the OpenSAML framework with support for the definitions from the eIDAS technical specifications.
The following eIDAS specifications are implemented:
* [eIDAS - Interoperability Architechture v1.2](https://ec.europa.eu/cefdigital/wiki/download/attachments/82773108/eIDAS%20Interoperability%20Architecture%20v.1.2%20Final.pdf)
* [ eIDAS - Cryptographic requirements for the Interoperability Framework v1.2](https://ec.europa.eu/cefdigital/wiki/download/attachments/82773108/eIDAS%20Cryptographic%20Requirement%20v.1.2%20Final.pdf)
* [eIDAS SAML Message Format v1.2](https://ec.europa.eu/cefdigital/wiki/download/attachments/82773108/eIDAS%20SAML%20Message%20Format%20v.1.2%20Final.pdf)
* [eIDAS SAML Attribute Profile v1.2](https://ec.europa.eu/cefdigital/wiki/download/attachments/82773108/eIDAS%20SAML%20Attribute%20Profile%20v1.2%20Final.pdf)
> See for the eIDAS eID Profile.
### How to use the use the eidas-opensaml library
The eidas-opensaml artifacts are published to Maven central and a dependency to the library should be included as follows in the application POM-file:
```
se.litsec.eidas
eidas-opensaml4
${eidas-opensaml.version}
```
### Documentation
* API documentation - [https://litsec.github.io/eidas-opensaml/javadoc/opensaml4/2.1.1](https://litsec.github.io/eidas-opensaml/javadoc/opensaml4/).
### Examples
#### Creating an eIDAS AuthnRequest message
The [eIDAS SAML Message Format v1.2](https://github.com/litsec/eidas-opensaml/files/2219283/eIDAS.Message.Format_v1.2_final.docx) specification describes how a SAML `AuthnRequest` message should be put together to comply to the eIDAS specifications.
[CreateAuthnRequestExample.java](https://github.com/litsec/eidas-opensaml/blob/master/opensaml4/src/test/java/se/litsec/eidas/opensaml/examples/CreateAuthnRequestExample.java) illustrates how you could create an authentication request message using the eidas-opensaml library.
#### Parsing an Assertion
An assertion issued from an eIDAS service will contain the attributes defined in [eIDAS SAML Attribute Profile](https://github.com/litsec/eidas-opensaml/files/3236266/eIDAS.SAML.Attribute.Profile.v1.2-FINAL.pdf).
[ParseAssertionExample.java](https://github.com/litsec/eidas-opensaml/blob/master/opensaml4/src/test/java/se/litsec/eidas/opensaml/examples/ParseAssertionExample.java) shows how to parse an Assertion and get hold of all attribute values.
### Contact and support

Contact [Litsec Labs](mailto:info@litsec.se) if you have any questions or suggestions ...
### Resources
##### eIDAS Specifications
* [eIDAS - Interoperability Architechture v1.2](https://ec.europa.eu/cefdigital/wiki/download/attachments/82773108/eIDAS%20Interoperability%20Architecture%20v.1.2%20Final.pdf)
* [ eIDAS - Cryptographic requirements for the Interoperability Framework v1.2](https://ec.europa.eu/cefdigital/wiki/download/attachments/82773108/eIDAS%20Cryptographic%20Requirement%20v.1.2%20Final.pdf)
* [eIDAS SAML Message Format v1.2](https://ec.europa.eu/cefdigital/wiki/download/attachments/82773108/eIDAS%20SAML%20Message%20Format%20v.1.2%20Final.pdf)
* [eIDAS SAML Attribute Profile v1.2](https://ec.europa.eu/cefdigital/wiki/download/attachments/82773108/eIDAS%20SAML%20Attribute%20Profile%20v1.2%20Final.pdf)
##### Swedish eID Framework
* [Technical specifications for the Swedish eID Framework](https://github.com/swedenconnect/technical-framework)
* [Sweden Connect](https://swedenconnect.se) - The portal for the Sweden Connect federation.
* [Sweden Connect - Sandbox](https://sandbox.swedenconnect.se/home/) - The portal for the Swedish eID and eIDAS test infrastructure.
##### OpenSAML and Shibboleth
* [Shibboleth Identity Provider v4](https://wiki.shibboleth.net/confluence/display/IDP4/Home) - *built using OpenSAML 4.x*
------
Copyright © 2016-2023, [Litsec AB](http://www.litsec.se). Licensed under version 2.0 of the [Apache License](http://www.apache.org/licenses/LICENSE-2.0).