Problem mit der waptcrypto-Bibliothek
Veröffentlicht: 14. April 2022 – 18:42 Uhr
Guten Morgen,
Kontext:
WAPT-Version: 2.1 Enterprise
Server-Betriebssystem: Debian 11
Betriebssystem-Verwaltungskonsole: Win10pro
Betriebssystem-Paketentwicklungsstation: Win10pro
Um Geheimnisse in WAPT-Paketen zu verschlüsseln, verwende ich die waptcrypto-Bibliothek, wie im Beispiel in Ihrer Dokumentation.
Unter bestimmten Umständen stellt dies eine Ausnahme dar.
Dies scheint an der Anwesenheit des Schrägstrichs zu liegen, jedoch nur unter bestimmten Positions- oder anderen Bedingungen (ein Test mit einer sehr einfachen Zeichenkette, die einen einzigen Schrägstrich enthält, funktioniert).
Hier ist der verwendete Code und die Fehlermeldung je nach Fall: funktionierende Zeichenketten und fehlerhafte Zeichenketten.
**************************************************************
Verwendeter Code:
Ausgabe bei Übergabe einer Funktionszeichenkette mit einem Schrägstrich:
Ausgabe bei Übergabe einer Funktionszeichenkette mit einem Schrägstrich:
Ausgabe bei Übergabe einer Funktionszeichenkette mit einem Schrägstrich:
**************************************************************
Aufrichtig.
Christophe
Kontext:
WAPT-Version: 2.1 Enterprise
Server-Betriebssystem: Debian 11
Betriebssystem-Verwaltungskonsole: Win10pro
Betriebssystem-Paketentwicklungsstation: Win10pro
Um Geheimnisse in WAPT-Paketen zu verschlüsseln, verwende ich die waptcrypto-Bibliothek, wie im Beispiel in Ihrer Dokumentation.
Unter bestimmten Umständen stellt dies eine Ausnahme dar.
Dies scheint an der Anwesenheit des Schrägstrichs zu liegen, jedoch nur unter bestimmten Positions- oder anderen Bedingungen (ein Test mit einer sehr einfachen Zeichenkette, die einen einzigen Schrägstrich enthält, funktioniert).
Hier ist der verwendete Code und die Fehlermeldung je nach Fall: funktionierende Zeichenketten und fehlerhafte Zeichenketten.
**************************************************************
Verwendeter Code:
Code: Alle auswählen
for value in data['result']:
if value['host_certificate'] and value['computer_name']:
host_cert = SSLCertificate(crt_string = value['host_certificate'])
if pc_cfgs_jsoned_by_pc.get(value['computer_name'].lower(), 0):
encrypttxt = pc_cfgs_jsoned_by_pc[value['computer_name'].lower()]
#encrypttxt = 'chaine avec un / au milieu'
print('texte à chiffrer:')
print(encrypttxt)
print('type du texte à chiffrer : {}'.format(type(encrypttxt)))
encryptlist[value['computer_name']] = base64.b64encode(host_cert.encrypt(encrypttxt.encode('utf-8'))).decode('utf-8')
#print(value['computer_name'] + ':' + value['uuid'] + ':' + encryptlist[value['computer_name']])
print('en sortie')
print(encryptlist)
open('encrypt-txt.json','w').write(json.dumps(encryptlist))Ausgabe bei Übergabe einer Funktionszeichenkette mit einem Schrägstrich:
Code: Alle auswählen
*** Remote Interpreter Reinitialized ***
Ligne de Commande : update-package-sources "C:\Users\moi\waptdev\monpaquetquichiffre-wapt\WAPT\.."
Using config file: C:\Users\moi\AppData\Local\waptconsole\waptconsole.ini
texte à chiffrer:
chaine avec un / au milieu
type du texte à chiffrer : <class 'str'>
en sortie
{'PCP102': 'uZaw3MxTlBZBNXNXnTqWC+YdY/uSAXr2IVJuewkHvXqye1k6sx+yl/nri+dux1aRtdA3JLsMmzggR47PGVtjPZS9Fka3+S0at1OnRwcH45EYEyd3AB5A9rvg2ANvEb//szHxQScu0nfbkA9zJFXvM8y1bUGkpUIZY03I7/uMuU+blFKNaTK3TVzNW9mHEIEkZiroG/VyRckhgd6Rb6eubNtuDdFwrtwhZ7qMQwxPopu5T0+jdIKP8FWtnJGIzQKBCsbepwOPuFkqx1xFl/7kMjq2Q2y9Hy3gIMTBFjqjt+buQJfU2wms/+J8oQCUhuazoGkmtUSBm6RWgc/uQgd4YA=='}
Packages updated :
Ausgabe bei Übergabe einer Funktionszeichenkette mit einem Schrägstrich:
Code: Alle auswählen
*** Remote Interpreter Reinitialized ***
Ligne de Commande : update-package-sources "C:\Users\moi\waptdev\monpaquetquichiffre-wapt\WAPT\.."
Using config file: C:\Users\moi\AppData\Local\waptconsole\waptconsole.ini
texte à chiffrer:
{"PrivateKey": "abcd", "Address": "10.0.0.1/32", "DNS": ["192.168.0.1", "mondomaine.fr"], "PublicKey": "abcd", "PresharedKey": "abcd", "EndPoint": "mamachine.mondomaine.fr:12345"}
type du texte à chiffrer : <class 'str'>
en sortie
{'PCP102': 'XFUQR+g5GoKG8f5h45SGYmhdRov/TTGGwga1T0k7jAl0jY4+NgCJepD5e+PrYBHD1xJMssv8Tn0u6P18U/RDsftcT9eJJGWedO9GVTfuXqvH4+pR9ApyPkEJe/U/G1wk4eNiPSHSknUAYF2WYUfWmFFnHl05Dk0MB5xmTiynS4CtrBuearAvf8+frvr2ah+jdqrkGgA+skBmvmeVfozW/lyZ5CMbW16ON9DKFjqlG/edDPYiGdsVuuGHohjO4drwdZp46/wOtTdifQBn0+gNSq6JA8AKVhEpqkk5OkopuUXDUHrzLVjtETH4Nno+mbDdbGzdBlQnIGy+zmzPjNNISg=='}
Packages updated :Ausgabe bei Übergabe einer Funktionszeichenkette mit einem Schrägstrich:
Code: Alle auswählen
*** Remote Interpreter Reinitialized ***
Ligne de Commande : update-package-sources "C:\Users\moi\waptdev\monpaquetquichiffre-wapt\WAPT\.."
Using config file: C:\Users\moi\AppData\Local\waptconsole\waptconsole.ini
texte à chiffrer:
{"PrivateKey": "abcde/abcdefghijklmnopqrstuvwxyzabc/abcdef", "Address": "10.0.0.1/32", "DNS": ["192.168.0.1", "mondomaine.fr"], "PublicKey": "abcd", "PresharedKey": "abcd", "EndPoint": "mamachine.mondomaine.fr:12345"}
type du texte à chiffrer : <class 'str'>
2022-04-14 18:20:46,161 CRITICAL Fatal error in update_package function: ValueError: Encryption/decryption failed.:
Traceback (most recent call last):
File "C:\Program Files (x86)\wapt\waptpackage.py", line 2973, in call_setup_hook
hookdata = hook_func()
File "C:\Users\roquebert\waptdev\set-wgconf_0-wapt\setup.py", line 139, in update_package
encryptlist[value['computer_name']] = base64.b64encode(host_cert.encrypt(encrypttxt.encode('utf-8'))).decode('utf-8')
File "C:\Program Files (x86)\wapt\waptcrypto.py", line 2284, in encrypt
return self.rsa.encrypt(content, apadding)
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\cryptography\hazmat\backends\openssl\rsa.py", line 484, in encrypt
return _enc_dec_rsa(self._backend, self, plaintext, padding)
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\cryptography\hazmat\backends\openssl\rsa.py", line 75, in _enc_dec_rsa
return _enc_dec_rsa_pkey_ctx(backend, key, data, padding_enum, padding)
File "C:\Program Files (x86)\wapt\Scripts\lib\site-packages\cryptography\hazmat\backends\openssl\rsa.py", line 133, in _enc_dec_rsa_pkey_ctx
raise ValueError("Encryption/decryption failed.")
ValueError: Encryption/decryption failed.
FATAL ERROR : ValueError: Encryption/decryption failed.
Exit code: 3Aufrichtig.
Christophe