Projet

Général

Profil

Development #46984

saml : erreur bytes/str dans x509utils.get_rsa_public_key_modulus()

Ajouté par Paul Marillonnet il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
24 septembre 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

La trace, qui vient de #45977-8, est :

[…]
                                                File "/usr/lib/python3/dist-packages/authentic2/saml/saml2utils.py", line 282, in __str__
                                                  etree.tostring(self.root_element()))
                                                File "/usr/lib/python3/dist-packages/authentic2/saml/saml2utils.py", line 258, in root_element
                                                  self.generate_services(map, options, self.sso_services)
                                                File "/usr/lib/python3/dist-packages/authentic2/saml/saml2utils.py", line 202, in generate_services
                                                  self.add_keyinfo(options['key'], None)
                                                File "/usr/lib/python3/dist-packages/authentic2/saml/saml2utils.py", line 236, in add_keyinfo
                                                  keyinfo(self.tb, key)
                                                File "/usr/lib/python3/dist-packages/authentic2/saml/saml2utils.py", line 81, in keyinfo
                                                  tb.data(int_to_b64(x509utils.get_rsa_public_key_modulus(key)))
                                                File "/usr/lib/python3/dist-packages/authentic2/saml/x509utils.py", line 128, in get_rsa_public_key_modulus
                                                  i = modulus.find('=')


Fichiers


Demandes liées

Lié à Authentic 2 - Support #45977: Procédure de correction des conflits avec des migrations locales uniquementNouveau20 août 2020

Actions

Révisions associées

Révision ea599862 (diff)
Ajouté par Benjamin Dauvergne il y a plus de 3 ans

tests: test authentic2.saml.x509utils (#46984)

Révision 5a135f7b (diff)
Ajouté par Benjamin Dauvergne il y a plus de 3 ans

misc: fix use of openssl cli (#46984)

Révision 6913bace (diff)
Ajouté par Benjamin Dauvergne il y a plus de 3 ans

misc: rewrite x509utils using modern API (#46984)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

  • Assigné à mis à Benjamin Dauvergne
#4

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

  • Lié à Support #45977: Procédure de correction des conflits avec des migrations locales uniquement ajouté
#5

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

Benjamin, je t'incite à tester le patch en question.

#6

Mis à jour par Benjamin Renard il y a plus de 3 ans

Benjamin Dauvergne a écrit :

Benjamin, je t'incite à tester le patch en question.

Autre bug maintenant:

Sep 25 10:58:46 gavotte-pp authentic2[24524]: 176.159.32.89 eeadmin (d7fc71) 57cdef6c ERROR Internal Server Error: /idp/saml2/sso
                                              Traceback (most recent call last):
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 1065, in _escape_cdata
                                                  if "&" in text:
                                              TypeError: a bytes-like object is required, not 'str'

                                              During handling of the above exception, another exception occurred:

                                              Traceback (most recent call last):
                                                File "/usr/lib/python3/dist-packages/django/core/handlers/exception.py", line 41, in inner
                                                  response = get_response(request)
                                                File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 187, in _get_response
                                                  response = self.process_exception_by_middleware(e, request)
                                                File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 185, in _get_response
                                                  response = wrapped_callback(request, *callback_args, **callback_kwargs)
                                                File "/usr/lib/python3.5/contextlib.py", line 30, in inner
                                                  return func(*args, **kwds)
                                                File "/usr/lib/python3/dist-packages/authentic2/decorators.py", line 47, in f
                                                  return func(request, *args, **kwargs)
                                                File "/usr/lib/python3/dist-packages/authentic2/decorators.py", line 47, in f
                                                  return func(request, *args, **kwargs)
                                                File "/usr/lib/python3/dist-packages/django/views/decorators/cache.py", line 57, in _wrapped_view_func
                                                  response = view_func(request, *args, **kwargs)
                                                File "/usr/lib/python3/dist-packages/django/views/decorators/csrf.py", line 58, in wrapped_view
                                                  return view_func(*args, **kwargs)
                                                File "/usr/lib/python3/dist-packages/authentic2/idp/saml/saml2_endpoints.py", line 138, in f
                                                  return func(request, *args, **kwargs)
                                                File "/usr/lib/python3/dist-packages/authentic2/idp/saml/saml2_endpoints.py", line 488, in sso
                                                  server = create_server(request)
                                                File "/usr/lib/python3/dist-packages/authentic2/idp/saml/saml2_endpoints.py", line 1551, in create_server
                                                  __cached_server = create_saml2_server(request, idp_map=metadata_map, options=options)
                                                File "/usr/lib/python3/dist-packages/authentic2/saml/common.py", line 123, in create_saml2_server
                                                  options=options),
                                                File "/usr/lib/python3/dist-packages/authentic2/saml/common.py", line 111, in get_saml2_metadata
                                                  return str(metagen)
                                                File "/usr/lib/python3/dist-packages/authentic2/saml/saml2utils.py", line 282, in __str__
                                                  etree.tostring(self.root_element()))
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 1134, in tostring
                                                  short_empty_elements=short_empty_elements)
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 775, in write
                                                  short_empty_elements=short_empty_elements)
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 940, in _serialize_xml
                                                  short_empty_elements=short_empty_elements)
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 940, in _serialize_xml
                                                  short_empty_elements=short_empty_elements)
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 940, in _serialize_xml
                                                  short_empty_elements=short_empty_elements)
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 940, in _serialize_xml
                                                  short_empty_elements=short_empty_elements)
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 940, in _serialize_xml
                                                  short_empty_elements=short_empty_elements)
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 940, in _serialize_xml
                                                  short_empty_elements=short_empty_elements)
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 937, in _serialize_xml
                                                  write(_escape_cdata(text))
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 1073, in _escape_cdata
                                                  _raise_serialization_error(text)
                                                File "/usr/lib/python3.5/xml/etree/ElementTree.py", line 1056, in _raise_serialization_error
                                                  "cannot serialize %r (type %s)" % (text, type(text).__name__)
                                              TypeError: cannot serialize b'1JO+v2Bx3ylci8u4JmAqr6BnAqePwu1frInXGwauwmdfsB62ald/GYlpCR0LGheais0wzttetg/zjp4a6bDUzmW8nKmniF5P3QeSAaoVLfS5x/oFtSDBcPv5Sy0XxnIf+wd9ErdxMB2GX02vKuohBo8pvV7krflyhK+S3ulALro9b3ThS0f03Js/S9TzXZi+sRdyYXyANQsIlQCy3xBaumfvzVVCAaPMMA2/THW7hSa4y6OZ7lPv2GNnhvvlfeTPuA4kpfleQiNEHdsxD0eflGMJRqNVF1LxwRhwAKCALd5eLTE2We5szjTzALmL1K8BNVqjXMNj0fV+UQKI2DICRw==' (type bytes)

#7

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

À mettre dans un autre ticket, mais ça ressemble à une chaîne de bytes dans les settings ([A2_IDP_SAML2_]SIGNATURE_PUBLIC_KEY certainement).

#8

Mis à jour par Benjamin Renard il y a plus de 3 ans

Benjamin Dauvergne a écrit :

À mettre dans un autre ticket, mais ça ressemble à une chaîne de bytes dans les settings ([A2_IDP_SAML2_]SIGNATURE_PUBLIC_KEY certainement).

Fait: #47013

#9

Mis à jour par Paul Marillonnet il y a plus de 3 ans

  • Statut changé de Solution proposée à Solution validée

Ok, j’avais un doute sur les droits avec lesquels sont créés le NamedTemporaryFile mais le doute est levé après lecture de la doc. Ack.

#10

Mis à jour par Benjamin Dauvergne il y a plus de 3 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 6913bacef4416b1b8a5638556464eda5914d3742
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu Sep 24 18:18:26 2020 +0200

    misc: rewrite x509utils using modern API (#46984)

commit 5a135f7bf236304c0be5b23b65d3de5bd038a5b5
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu Sep 24 17:55:18 2020 +0200

    misc: fix use of openssl cli (#46984)

commit ea599862bf234b31e060ad4a67d9eb14c42db4bf
Author: Benjamin Dauvergne <bdauvergne@entrouvert.com>
Date:   Thu Sep 24 17:54:50 2020 +0200

    tests: test authentic2.saml.x509utils (#46984)
#11

Mis à jour par Frédéric Péters il y a plus de 3 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF