Op mijn laptop gebruik ik het programma pam_mount (0.13.0) om een encrypted homedir automatisch te mounten, maar dat hield op met werken na een upgrade van OpenSSL. Na OpenSSL weer te downgraden werkte het overigens nog steeds niet. Ik heb eens lopen debuggen en kwam het volgende tegen:
De functie EVP_get_cipherbyname(char*) faalt, de naam van de cipher (in fs_key_cipher) is "aes-256-ecb" en dat is een geldige cipher. Om dat te testen heb ik een minimaal testprogramma gemaakt wat hetzelfde doet en dat werkt prima.
Ik heb vervolgens het dynamisch opzoeken van de cipher aangevuld:
Als de cipher dynamisch niet gevonden wordt, gaat hij nu gewoon met een statische functie de cipher ophalen. Dit werkt ook prima.
Samenvattend: Dynamisch ophalen werkt in pam_mount niet, in een testprogramma wel. Statisch ophalen werkt in alle gevallen.
Ik wil natuurlijk graag dat ik pam_mount ongepatched kan gebruiken, dus misschien kan iemand mij vertellen waardoor het dynamische ophalen van de cipher in pam_mount.so niet werkt.
C:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| # include <openssl/ssl.h> # include <openssl/evp.h> ... const EVP_CIPHER *cipher; EVP_CIPHER_CTX ctx; ... OpenSSL_add_all_ciphers(); EVP_CIPHER_CTX_init(&ctx); ... if((cipher = EVP_get_cipherbyname(fs_key_cipher)) == NULL) { l0g(PMPREFIX "error getting cipher \"%s\"\n", fs_key_cipher); return 0; } |
De functie EVP_get_cipherbyname(char*) faalt, de naam van de cipher (in fs_key_cipher) is "aes-256-ecb" en dat is een geldige cipher. Om dat te testen heb ik een minimaal testprogramma gemaakt wat hetzelfde doet en dat werkt prima.
Ik heb vervolgens het dynamisch opzoeken van de cipher aangevuld:
C:
1
2
3
4
5
| if((cipher = EVP_get_cipherbyname(fs_key_cipher)) == NULL) { l0g(PMPREFIX "error getting cipher \"%s\"\n", fs_key_cipher); cipher = EVP_aes_256_ecb(); } |
Als de cipher dynamisch niet gevonden wordt, gaat hij nu gewoon met een statische functie de cipher ophalen. Dit werkt ook prima.
Samenvattend: Dynamisch ophalen werkt in pam_mount niet, in een testprogramma wel. Statisch ophalen werkt in alle gevallen.
Ik wil natuurlijk graag dat ik pam_mount ongepatched kan gebruiken, dus misschien kan iemand mij vertellen waardoor het dynamische ophalen van de cipher in pam_mount.so niet werkt.
[ Voor 3% gewijzigd door Gerco op 25-05-2006 22:46 ]
- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!