diff --git a/src/home/homed-manager.c b/src/home/homed-manager.c
index 2175ca7..72ad939 100644
--- a/src/home/homed-manager.c
+++ b/src/home/homed-manager.c
@@ -1357,7 +1357,9 @@ static int manager_generate_key_pair(Manager *m) {
                 m->private_key = NULL;
         }
 
+        #ifdef EVP_PKEY_ED25519
         ctx = EVP_PKEY_CTX_new_id(EVP_PKEY_ED25519, NULL);
+        #endif
         if (!ctx)
                 return log_error_errno(SYNTHETIC_ERRNO(EIO), "Failed to allocate Ed25519 key generation context.");
 
diff --git a/src/home/user-record-sign.c b/src/home/user-record-sign.c
index 46e5ea7..f6c4a3d 100644
--- a/src/home/user-record-sign.c
+++ b/src/home/user-record-sign.c
@@ -125,10 +125,17 @@ int user_record_verify(UserRecord *ur, EVP_PKEY *public_key) {
                 if (EVP_DigestVerifyInit(md_ctx, NULL, NULL, NULL, public_key) <= 0)
                         return -EIO;
 
+                #if OPENSSL_VERSION_NUMBER >= 0x10101000L
                 if (EVP_DigestVerify(md_ctx, signature, signature_size, (uint8_t*) text, strlen(text)) <= 0) {
                         n_bad++;
                         continue;
                 }
+                #else
+                if (EVP_DigestVerifyFinal(md_ctx, signature, signature_size) <= 0) {
+                        n_bad ++;
+                        continue;
+                }
+                #endif
 
                 n_good++;
         }
-- 
2.25.1
