crypto_RSA_OAEP
Description
Ce plugin permet de chiffrer/déchiffrer des chaînes avec des clés RSA asymétriques, en utilisant PKCS#1 OAEP, un chiffrement asymétrique basé sur RSA et le remplissage OAEP.
Configuration
Vous pouvez configurer autant de clés que vous le souhaitez dans les paramètres du plugin. Une clé peut être utilisée pour chiffrer ou déchiffrer, mais pas les deux. Le plugin déterminera s’il s’agit d’une opération de chiffrement ou de déchiffrement en fonction du type de clé : déchiffrement pour les clés privées et chiffrement pour les clés publiques.
hermes:
plugins:
attributes:
crypto_RSA_OAEP:
settings:
keys:
# Nom de la clé, vous pouvez définir ce que vous voulez
encrypt_to_messagebus:
# Type de hachage, lors du déchiffrement, vous devez évidemment
# utiliser la même valeur qui a été utilisée pour le chiffrement
hash: SHA3_512
# Clé publique RSA utilisée pour chiffrer
# ATTENTION - CETTE CLÉ EST FAIBLE ET PUBLIQUE, NE L'UTILISEZ JAMAIS
rsa_key: |-
-----BEGIN PUBLIC KEY-----
MCgCIQCy2W1bAPOa1JIeLuV8qq1Qg7h0jxpf8QCik11H9xZcfwIDAQAB
-----END PUBLIC KEY-----
# Une autre clé
decrypt_from_messagebus:
hash: SHA3_512
# Clé privée RSA utilisée pour déchiffrer
# ATTENTION - CETTE CLÉ EST FAIBLE ET PUBLIQUE, NE L'UTILISEZ JAMAIS
rsa_key: |-
-----BEGIN RSA PRIVATE KEY-----
MIGrAgEAAiEAstltWwDzmtSSHi7lfKqtUIO4dI8aX/EAopNdR/cWXH8CAwEAAQIh
AKfflFjGNOJQwvJX3Io+/juxO+HFd7SRC++zBD9paZqZAhEA5OtjZQUapRrV/aC5
NXFsswIRAMgBtgpz+t0FxyEXdzlcTwUCEHU6WZ8M2xU7xePpH49Ps2MCEQC+78s+
/WvfNtXcRI+gJfyVAhAjcIWzHC5q4wzgL7psbPGy
-----END RSA PRIVATE KEY-----
Les valeurs valides pour hash
sont :
- SHA224
- SHA256
- SHA384
- SHA512
- SHA3_224
- SHA3_256
- SHA3_384
- SHA3_512
Utilisation
crypto_RSA_OAEP(value: bytes | str, keyname: str) → str
Une fois que tout est configuré, vous pouvez chiffrer les données avec la clé encrypt_to_messagebus
comme ceci dans un filtre Jinja :
password_encrypted: "{{ PASSWORD_CLEAR | crypto_RSA_OAEP('encrypt_to_messagebus') }}"
password_decrypted: "{{ PASSWORD_ENCRYPTED | crypto_RSA_OAEP('decrypt_from_messagebus') }}"
Vous pouvez même déchiffrer et rechiffrer immédiatement les données avec une autre clé comme ceci :
password_reencrypted: "{{ PASSWORD_ENCRYPTED | crypto_RSA_OAEP('decrypt_from_datasource') | crypto_RSA_OAEP('encrypt_to_messagebus') }}"
ldapPasswordHash
Description
Ce plugin permet de générer des hachages LDAP aux formats spécifiés, depuis une chaîne contenant un mot de passe en clair.
Configuration
Vous pouvez configurer une liste facultative de types de hachage par défaut dans les paramètres du plug-in. Cette liste sera utilisée si les types de hachage ne sont pas spécifiés dans les arguments du filtre, sinon les types de hachage spécifiés seront utilisés.
hermes:
plugins:
attributes:
ldapPasswordHash:
settings:
default_hash_types:
- SMD5
- SSHA
- SSHA256
- SSHA512
Les valeurs valides pour default_hash_types
sont :
- MD5
- SHA
- SMD5
- SSHA
- SSHA256
- SSHA512
Utilisation
ldapPasswordHash(password: str, hashtypes: None | str | list[str] = None) → list[str]
Une fois que tout est configuré, vous pouvez générer votre liste de hachages comme ceci dans un filtre Jinja :
# Contiendra une liste de hachages de PASSWORD_CLEAR selon les paramètres
# de default_hash_types : SMD5, SSHA, SSHA256, SSHA512
ldap_password_hashes: "{{ PASSWORD_CLEAR | ldapPasswordHash }}"
# Contiendra une liste contenant uniquement le hachage SSHA512 de PASSWORD_CLEAR
ldap_password_hashes: "{{ PASSWORD_CLEAR | ldapPasswordHash('SSHA512') }}"
# Contiendra une liste contenant uniquement les hachages SSHA256
# et SSHA512 de PASSWORD_CLEAR
ldap_password_hashes: "{{ PASSWORD_CLEAR | ldapPasswordHash(['SSHA256', 'SSHA512']) }}"