Teknisk Dokumentation

Innehållsförteckning

Dokumentation för version 1.0 (äldre version)

Om man vill köra en egen instans av edusign.sunet.se krävs en del programvara som levereras som docker-containers:

Detta krävs för att sätta upp en egen instans av edusign 1.0

Såhär ser en installation av edusign 1.0 ut:

För att köra en egen instans av samma programvara som edusign.sunet.se kör krävs följande:

  1. Kunna köra docker-containers - programvaran levereras som ett antal docker-images (se ovan)
  2. Konfigurera och sätta upp en instans av docker.sunet.se/upload-sign-app:<version> (dokumentation i README-filen på https://github.com/SUNET/docker-sign-app)
  3. Sätta upp och registrera en SP i Swamid (tex https://edusign.<universitet>.se/) tex genom att köra en instans av docker.sunet.se/shibsp-ajp:latest (baserad på shibboleth)
  4. Koppla SPn (som förslagsvis kör docker.sunet.se/shibsp-ajp:latest eller motsvarande) till en instans av docker.sunet.se/upload-sign-app:<version>
  5. Koppla ihop instansen med signeringsinfrastrukturen. Detta steg kräver en registrering av instansen i en intern behörighetskontrollfunktion - kontakta Sunet för detaljer!

För närvarande är den senaste versionen av upload-sign-app 1.0.5 men kontrollera med dokumentationen för vad som är aktuellt.

Dokumentation för version 2.0 (nuvarande version)

Här finner du programvaran vi kör i dagsläget:

Inkluderat i denna version finns ett API tillgängligt som kan användas för att integrera med egna applikationer. Länk till dokumentation nedan. Det är inte nödvändigt att uppgradera från 1.0 till 2.0 - version 1.0 kommer vi underhålla med kritiska buggfixar fram till och med 2022.

Detta krävs för att sätta upp en egen instans av 2.0

Såhär ser en installation av edusign 2.0 ut:

För att köra en egen instans av samma programvara som edusign.sunet.se kör krävs följande:

  1. Kunna köra docker-containers - programvaran levereras som ett antal docker-images (se ovan)
  2. Konfigurera och sätta upp en instans av docker.sunet.se/edusign-sp:<version> samt docker.sunet.se/edusign-app som båda byggs och dokumenteras från detta repo: https://github.com/SUNET/docker-edusign-app
  3. Sätta upp och registrera en SP i Swamid (tex https://edusign.<universitet>.se/) baserat på docker.sunet.se/edusign-sp
  4. De två docker-images kopplas ihop enligt dokumentation i  docker.sunet.se/edusign-app
  5. Koppla ihop instansen med signeringsinfrastrukturen och med API-servern. Detta steg kräver en registrering av instansen i en intern behörighetskontrollfunktion - kontakta Sunet för detaljer!

Specifikationer

Specifikationer för underskriftstjänst finns på Sweden Connect under följande länk https://docs.swedenconnect.se/technical-framework/.
De dokument som är relevanta är:

Dessa specifikationer är baserade på Digital Signature Service Core Protocols, Elements, and Bindings Version 1.0 (https://docs.oasis-open.org/dss/v1.0/oasis-dss-core-spec-v1.0-os.html)

Utöver dessa specifikationer följer underskriftstjänsten de normativa specifikationerna för fristående underskriftstjänst från Myndigheten för digital förvaltning DIGG. Version 1.3 finns att tillgå på: https://www.elegnamnden.se/eunderskrift/levereraeunderskrift/bligodkandleverantoravfristaendeeunderskriftstjanst.4.4498694515fe27cdbcf154.html.

API-dokumentation

Länk till dokumentation av REST-api:et nedan

Se även nedan krav som måste uppfyllas av alla som integrerar med API:et i produktion.

Krav på en tjänst som integreras med eduSign API

För att en tjänst ska få integreras direkt med eduSign API måste den uppfylla samma krav  på tydlighet, säkerhet mm som den applikation som används på edusign.sunet.se.  Integration direkt med API:et kräver därför att en tjänst genomgår en granskning av Sunet i syfte att kontrollera att den uppfyller följande krav:

  1. Identifiering av användare måste ske på ett sätt som är ekvivalent eller bättre än som sker på edusign.sunet.se.
  2. Användare måste tydligt informeras om att en signatur sker på ett sätt som uppfyller krav på informerat medgivande i GDPR.
  3. Tjänsten måste hantera inloggningsuppgifter till API:et på ett sätt som gör att endast den tjänsten har möjlighet att för användarens räkning begära en signatur
  4. Tjänsten måste tillse att endast de signaturer som användaren avser att genomföra kan begäras av signaturtjänst och API:er
  5. Tjänste måste tydligt visa upp resultatet av en signatur för användaren.

Från och med införandet av edusign 2.0 och edusign API gäller detta även för de som väljer att köra egna instanser om det finns ett krav/önskemål på att kunna signera via både den egna instansen och edusign.sunet.se.

eduSign Trust Anchors

Följande certifikat används av eduSIGN som trust anchors. Genom att lägga till dessa som trusted certs i Adobe visas alla signaturer från eduSIGN som giltiga.

eduSign Signer

-----BEGIN CERTIFICATE-----
MIIFxDCCA6ygAwIBAgIBATANBgkqhkiG9w0BAQsFADB9MQswCQYDVQQGEwJTRTEO
MAwGA1UEChMFU3VuZXQxEDAOBgNVBAsTB2VkdVNpZ24xFTATBgNVBAUTDFNFMjAy
MTAwNTIwODE1MDMGA1UEAxMsU1VORVQgLSBlZHVTaWduIFJvb3QgQ2VydGlmaWNh
dGlvbiBBdXRob3JpdHkwHhcNMTkwNTAxMjIzNDQ3WhcNMzUwNTAxMjIzNDQ3WjB9
MQswCQYDVQQGEwJTRTEOMAwGA1UEChMFU3VuZXQxEDAOBgNVBAsTB2VkdVNpZ24x
FTATBgNVBAUTDFNFMjAyMTAwNTIwODE1MDMGA1UEAxMsU1VORVQgLSBlZHVTaWdu
IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUA
A4ICDwAwggIKAoICAQCMfRKotjl2K6FkVGm3jOOD5yuXicbcphdVzASFSx7KwXqA
oxLzY/lR5ZFzabud06Fxkp/TnQIlMgMHN9/iQUQL0XsRYQuUc+SCYEZFGwxYCTd7
jSoDc1vas/bcmW6OVbhDvV5LMwKW/yaDdc5+OTUcw6aesaGoFYvt2r+5MOro/M4U
+W84QWlb4gAoM/bnFUG4vQxkwMhrEYNRHEh2FhRwDP34RxtwXPGlIFx6w2zQvEBC
ijpuY1XOK7rEMGH9B/v0QErj5NH1YaNx/x3g/D37qwipCeFKYodTvrNjfmWqJIUN
1bkWSJwcIV8VnT8XF0KVlVhuZEEff73BlIlP3eQFURmhpr5+gOkD1+kdYX77f2m9
Qqx/Lqh7NAfJHMC2vHuzICetRb6TzlaF/N6+C5KFJ0MRwBkjSrIqUaaIhoLzMuIL
D/GuSgT8fXdgJjCkJfiSgMLFk6PxdUn5i4qeazIsITOaFdv4DQ7kywTFaMAq4lYu
Ldx0MvKnYRFuGq7sSHTrOBj6nTwIhUx0WnIOlClyGvbhsAvaLSdDfWoPsw6jxlFa
g4mCAIzuIY9pKkZUnLRANQ7oA89B74DoPgUEBHUYm9GN449u9ZQnrRID3uiIcMln
8bWEtsljNOW2TTDpRQwvXdaMfrafKPUj360VbaFwlx13v9OIVZpIu/h36ZHe5wID
AQABo08wTTALBgNVHQ8EBAMCAYYwHQYDVR0OBBYEFEK+Ov0Iz1mnSjG0IdRdFkjS
deEbMBEGA1UdIAQKMAgwBgYEVR0gADAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEB
CwUAA4ICAQANOVYuymlsriyeD58rhMcRehS6L2cHrmD8prG1yzIf1mBNeTul/Be3
y16euzPXpE4eI3eaMfbyMfIHUV0rwkHaPgEItTRb8fFYIUYtR+yCjf8bme90z5re
KyapwNbgTFTaKsxsexjTvtbwSe/dz0AwFZvx/vlNumckgj9obaaym1jKylH/lg3b
fijD9XsNvmqyhU8HQPrObT6DqHoYtYWiG43pURdNjqiYYMobcLctE5GP709pTT1X
DnlYV2iW/6ueHDZYVHNxhjBXDzMOMNwrIKFOq7aaH4hwAnFu8A2lU5D4whMNFCdm
/PSYx5pPmC/OBno0kk1PYwI9rZXbiREjG75RmEA7Z9cvmORc3K+x0QK/rF/ddfeG
8u+8rDi1ustmllaTDdW6vOk4cYH9jn24wWxUpHqPkXJbJGQusqkj8p1uxkWev2he
kkOynzLXcs44bK9AhepHJKD2ptUVmMZT15LYd1Ck2Ofo1KvBJv3ZyEFvlooDCYwh
wuZEFWcBdHowajQDQK8wxVG5ILBSQn6cO1bdrQnVbTWCoz/pJFUXSzXrHfTa3rWi
5mvB1d7WLC5YHlU1Jf0nNUXlWQyOol3SKnuGPIJ32mu0UR/nBfijQzTfJDRLQRGR
belulVBTgfLslOCQfpgekQYJV3C24YXUoY/LXSX5j19q/BBCV+6xcA==
-----END CERTIFICATE-----

eduSign Validator

-----BEGIN CERTIFICATE-----
MIICvDCCAh+gAwIBAgIQfRlgQXEBnsGZ2uhTTMWMOjAKBggqhkjOPQQDBDB/MQswCQYDVQQGEwJT
RTESMBAGA1UEBxMJU3RvY2tob2xtMQ4wDAYDVQQKEwVTVU5FVDEQMA4GA1UECxMHZWR1U0lHTjEd
MBsGA1UEAxMUZWR1U0lHTiBWYWxpZGF0b3IgRzExGzAZBgkqhkiG9w0BCQEWDG5vY0BzdW5ldC5z
ZTAgFw0yMTAxMTgyMDQzMDFaGA8yMDcxMDExODIwNTgwMVowfzELMAkGA1UEBhMCU0UxEjAQBgNV
BAcTCVN0b2NraG9sbTEOMAwGA1UEChMFU1VORVQxEDAOBgNVBAsTB2VkdVNJR04xHTAbBgNVBAMT
FGVkdVNJR04gVmFsaWRhdG9yIEcxMRswGQYJKoZIhvcNAQkBFgxub2NAc3VuZXQuc2UwgZswEAYH
KoZIzj0CAQYFK4EEACMDgYYABABxY3x/NIRQ99+DnbpGVGEK5e9wYDMCu+jY4RgYOkKxUGUSbZuH
HpiZJrod086k7sYhEO6kGzYIt5RU2Dc20lN5RAHNYhOIaYGPNFdRz46anlGf4v0LC/Smi9ms/5pN
e3NbKqJbAwH38GIgcQ2slZMzzh5Zt66lU+Futu0JL4mSwaO0O6M4MDYwDAYDVR0TAQH/BAIwADAO
BgNVHQ8BAf8EBAMCBsAwFgYDVR0lAQH/BAwwCgYIKwYBBQUHAwgwCgYIKoZIzj0EAwQDgYoAMIGG
AkFGQZlkggoP7+weGxfxHn2LkPFBpZ4SxSqM+5VbT3EDJrwvn6HNTWK66Z2fPXXu12l0jJB+iQOa
ADOV61I1Sx3y7wJBCaoEftT7ldpef1n0FCuzRZjwFSOiWSomVRtm9pnCLYSpqUcgqnYC4E0+YHZr
8VgLbxDu4cBQJmE9MKNNexA+nMI=
-----END CERTIFICATE-----
  • No labels