| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The test around parsing of EncryptedAssertion was wrong since it was
missing the XMLEnc namespace declaration.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The new implementations of lasso_node_impl_init_from_xml now validate
namespace of all child nodes befores parsing. It stops on any error. For
node which implement their own parsing of an attribute or a node, it
must declare an XmlSnippet with an offset field set to 0. The 0 value is
invalid for public GObject structure (it's the place of the GObject
machinery like the reference count). The 0 offset can be used for
XmlSnippet in a private structure, so never set the offset to 0 with the
flag SNIPPET_PRIVATE, for a field which is parsed by you get_xmlNode
virtual method.
Other ameliorations in this commit is the possibility to set attributes
with namespace when using the flags SNIPPET_ATTRIBUTE|SNIPPET_ANY. The
syntax for an attribute is inspired by the element tree API from Python:
{namespace}attribute_name
an example:
{http://www.w3.org/2001/XMLSchema-instance}type
for the classic xsi:type attribute.
|
| |
|
| |
|
|
|
|
|
| |
It also needed a change to bindings.py to parse struct as well as
typedef node classes.
|
|
|
|
|
|
|
| |
To allow lasso_node_impl_init_from_xmlnode to do proper namespace
checking, child node which are not of the same namespace as their parent
in their XSD schema must have an explicit namespace declared in the
XmlSnippet.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- now any non expected log output is considered an error, by setting a
g_log default handler.
- block_lasso_logs()/unblock_lasso_logs() will block logging output at
the DEBUG level
- begin_check_do_log(level, message, endswith)/end_check_do_log() with
check that the only message emitted between the two macros is one
equals to "message" at the level "level", or ending (to work around
variable parts in a log message) with "message" if "endswith" is True.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
node implementation
The goal is to use the KeyInfo structure as a transport format for our cryptographic keys
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
lasso_provider_set_server_signing_key
|
|
|
|
|
|
| |
cryptography
Performance with HMAC-SHA1 is 100x the one with 2048 bits RSA.
|
| |
|
|
|
|
|
|
|
| |
lasso_saml2_query_verify_signature
This commit introduces lasso_query_verify_helper which factorize
cryptographic operations.
|
| |
|
|
|
|
|
|
| |
The added key can be appended or prepended, depending on the need for the key:
- rollover
- improving performances (using simpler cryptographic algorithmss using shared secret keys)
|
|
|
|
|
|
|
| |
Using this method you can specify a signing which will be used for
communication with the specified provider instead of the one configured
on the LassoServer object. The main objective is to allow shared secret
cryptography instead of public key cryptography.
|
|
|
|
|
|
| |
LassoKey currenly store a LassoSignatureContext inside a
reference-counted and bindable object. It will be used to export API
around key management to bindings.
|
|
|
|
| |
The log handler is not set in lasso_init().
|
|
|
|
| |
factorize some code
|
|
|
|
|
|
|
| |
parameters
This structure is used to pass around the signature algorithm
and the signature key.
|
| |
|
|
|
|
|
|
| |
g_type_class_add_private
The private part is allocated contiguously to the public structure data.
|
| |
|
|
|
|
| |
lasso_node_export_to_query
|
| |
|
|
|
|
|
| |
It allows to add LassoProvider objects directly to a LassoServer object,
without using the metadata loading methods.
|
|
|
|
| |
This method compare byte strings in constant time.
|
|
|
|
|
|
| |
around
Signature parameters are mainly a LassoSignatureMethod and a xmlSecKey.
|
|
|
|
| |
- add also a LASSO_SIGNATURE_METHOD_NONE value
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
| |
| |
| |
| | |
for leaks in authentic and lcs
|
| |
| |
| |
| |
| |
| | |
This test case is the first to abstract the workflow between two
LassoLogin object (for the idp and sp side). This part of the code could
be used to simplify the code of other tests in the future.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The only expected decryption error is on decryption of the symetric key
used to crypt the data. All other errors are critical and must be
logged.
Client of lasso_node_decrypt_xmlnode can then log the decryption failure
of the symetric if they tried with all possible keys (key rollover
case).
|
| |
| |
| |
| |
| | |
add LASSO_XMLENC_ERROR_INVALID_ENCRYPTED_DATA for generic unrecoverable
xml decryption errors.
|
| |
| |
| |
| |
| | |
This commit also improved valgrind suppression file to hide static
allocations done by the GLib type system.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit complements the support for multiple signing certificate
support in the metadata files. The use-case is still key roll-over.
The structure LassoServerPrivateData was changed to accomodate multiple
decryption keys, and so:
xmlSecKey *encryption_private_key
became:
GList *encryption_private_keys
All uses of this key were replaced by a loop over this list, terminating
with the first key to be able to decrypt the content.
The private key passed to lasso_server_new() or
lasso_server_new_from_buffers() is first added to the list of decryption
keys. Any other call to
lasso_server_set_encryption_private_key_with_password() or
lasso_server_set_encryption_private_key() will add a new key to the
list.
|
|\ \
| |/
|/| |
|
| | |
|