Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Støtte for SEID v2.0 #37

Closed
magnuswatn opened this issue Aug 9, 2020 · 6 comments
Closed

Støtte for SEID v2.0 #37

magnuswatn opened this issue Aug 9, 2020 · 6 comments

Comments

@magnuswatn
Copy link
Owner

Buypass har begynt å utstede virksomhetssertifikater hvor organisasjonsnummeret kun ligger i Organization Identifier-feltet, og emnet er da uten serialNumber-feltet. Dette er eIDAS-greier, beskrevet i sertifikatprofilene deres.

Dette takles p.t. dårlig:

2020-08-06 19:55:55,816 ERROR sertifikatsok.web An exception occured: (e0b55a0c-3afc-4849-9d98-3758925d40bf)
Traceback (most recent call last):
  File "/opt/sertifikatsok/repo/api/sertifikatsok/web.py", line 24, in error_middleware
    return await handler(request)
  File "/opt/sertifikatsok/repo/api/sertifikatsok/web.py", line 50, in correlation_middleware
    response = await handler(request)
  File "/opt/sertifikatsok/repo/api/sertifikatsok/logging.py", line 80, in wrapper
    return_value = await func(*args, **kwargs)
  File "/opt/sertifikatsok/repo/api/sertifikatsok/web.py", line 105, in api_endpoint
    search_response = await certificate_search.get_response()
  File "/opt/sertifikatsok/repo/api/sertifikatsok/search.py", line 247, in get_response
    return CertificateSearchResponse.create(self)
  File "/opt/sertifikatsok/repo/api/sertifikatsok/search.py", line 259, in create
    cert_sets = QualifiedCertificateSet.create_sets_from_certs(search.results)
  File "/opt/sertifikatsok/repo/api/sertifikatsok/qcert.py", line 261, in create_sets_from_certs
    cert_sets.append(cls.create(cert_set))
  File "/opt/sertifikatsok/repo/api/sertifikatsok/qcert.py", line 208, in create
    org_number, underenhet = main_cert.get_orgnumber()
  File "/opt/sertifikatsok/repo/api/sertifikatsok/qcert.py", line 129, in get_orgnumber
    0
IndexError: list index out of range

Dette bør håndteres. Litt usikker på om orgnummeret bør hentes fra Organization Identifier-feltet eller ikke.

@magnuswatn
Copy link
Owner Author

Det som må gjøres her blir da:

  • Hente orgnummer fra Organization Identifier-feltet
  • Legge inn trust for de nye CA-ene til Buypass, og evt. nye OID-er.

Men jeg ser ingen attributter i katalogen til Buypass som kan brukes til å søke opp disse nye sertifikatene basert på orgnummer, så det er jo litt SNEDIG. Håpløst om det forsvinner, så må nesten høre med de om det.

@magnuswatn
Copy link
Owner Author

@magnuswatn magnuswatn changed the title Takle virksomhetssertifikater uten serialNumber Støtte for SEID v2.0 (var:Takle virksomhetssertifikater uten serialNumber) Dec 19, 2021
@magnuswatn magnuswatn changed the title Støtte for SEID v2.0 (var:Takle virksomhetssertifikater uten serialNumber) Støtte for SEID v2.0 Dec 19, 2021
@magnuswatn
Copy link
Owner Author

Det som gjenstår her nå er å også søke i organizationIdentifier når det søkes på orgnr.

@magnuswatn
Copy link
Owner Author

Etter litt frem og tilbake så søkes det nå også i organizationIdentifier når man søker etter ognr.

@magnuswatn
Copy link
Owner Author

Det som har gjenstått her er håndtering av søk på NTRNO-\d{9}. Etter mye indre diskusjon endte det opp med at slike søk blir håndtert likt som søk på kun orgnr, dvs. at vi søker på både SEID1- og SEID2-format. Dette etter prinsippet om å prøve å være mest mulig hjelpsom og finne mest mulig, og for å matche håndteringen av personlige serienummer. Skulle noen ønske å kun finne SEID2-sertifikat burde det være grei skuring å ctrl+f etter det på resultatsiden, evt. så vil det bli muliggjort av #5, om den noengang lander.

Implementert i 1f75566

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant