Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

generate-password on branch develop sends multiple messages for Apply password #7358

Closed
purejava opened this issue Jan 29, 2022 · 27 comments
Closed

Comments

@purejava
Copy link

purejava commented Jan 29, 2022

Overview

The base setting is KeePassXC being accessed by keepassxc-cryptomator.

keepassxc-cryptomator sends the generate-password request and waits for the KeePassXC password generator popup to be closed, either by pressing close or Apply password.

Steps to Reproduce

Easiest way is to use a JUnit test contained in keepassxc-cryptomator:

@Test
public void shouldHaveNoErrors() throws InterruptedException {
    log.info("Please enter a name for the connection in the pop-up within 10 seconds");
    assertTrue(kpa.connect());
    assertFalse(kpa.associate());
    Thread.sleep(10000L); // give me 10 seconds to enter a associate id
    kpa.generatePassword();
    assertTrue(kpa.lockDatabase());
}

Expected Behavior

Confirming Apply password sends back one message containing the password.

Actual Behavior

Apply password results in multiple generate-password messages being sent back from KeePassXC to keepassxc-cryptomator.

Logging on the keepassxc-cryptomator side is as follows (association not shown here):

[main] DEBUG org.keepassxc.Connection - MessagePublisher started
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"change-public-keys","clientID":"HXkLwnQ7wFpM5SwCrvnbwZXBEBJ2L410","publicKey":"IlJ5tSMuU2I7NCxqncWAvveq0v3nQ+woOyNK9duWWEg=","nonce":"MK3mKal5m0XjTgM0uW+S3shkZezyA3om"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"change-public-keys","nonce":"Ma3mKal5m0XjTgM0uW+S3shkZezyA3om","publicKey":"ZtVZkyDmiPCNbJlzs0nKE7DBoYhjN0y4CuxGY4Rq9Ag=","success":"true","version":"2.7.0-snapshot"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"success":"true","action":"change-public-keys","publicKey":"ZtVZkyDmiPCNbJlzs0nKE7DBoYhjN0y4CuxGY4Rq9Ag=","nonce":"Ma3mKal5m0XjTgM0uW+S3shkZezyA3om","version":"2.7.0-snapshot"}
[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"generate-password","clientID":"HXkLwnQ7wFpM5SwCrvnbwZXBEBJ2L410"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"generate-password","clientID":"HXkLwnQ7wFpM5SwCrvnbwZXBEBJ2L410","message":"qhhti1eH6I1bIyi+qbF7310QTTaNJQnk+XMuS9Sx3N4CSAJA2dvll+wUAypbU5jD00Novu/Fq9FtqqD9cdb06fA1rkZVr7oATq4eIruGKYkig1iMrel5JYCwQeY=","nonce":"/bKDHxbAklMKhei1+QHOVD1hmJYB7wTk"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {}
[pool-1-thread-2] TRACE org.keepassxc.Connection - KeePassXC send an empty response: {}
[pool-3-thread-1] DEBUG org.purejava.KeepassProxyAccess - Attempting to save credentials
[pool-3-thread-1] DEBUG org.purejava.KeepassProxyAccess - Credentials saved
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"generate-password","message":"n4aSiH6byrgeZVixT6TnQpfD8unZ2C/SOmWgtkI9VRR3d73FMz0I40+ufFFV7DkuwQGDZ+uHvoeV4ipMrOsqhB/gl3gi+1Q2XPlppojpceruHPgjQPMZvB4OPi1lJ5xusEF+uNkZV75V8L8azyrogKQ1efBNEN4sKaKmU3S2uDaQtUkHhmtx9BOnonqY5tQ6UotM7YqZ10VdcyPgZTpIJ71tUH7w","nonce":"/rKDHxbAklMKhei1+QHOVD1hmJYB7wTk"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"generate-password","message":"o+80N2eiBE80QpFqOSO7wBFTVb6LlZq9GNxU3Tu1AxlN91W3VqaNC8Ro0P7YBee1uEK7qWcskK9eEzHTy12MvRomrXzhy2NqlyHRUuM6IA86pyXLsxgo+ZsTH3PcSLlpXLqw7eGLslwnswof4RjJH1s/WCb5lLmO9CaqdTmLJSSbkhhd53Lz2/dTN+wT+l4pVfh0rgQkr/5GkvnIn3IKU1BdVlam","nonce":"/rKDHxbAklMKhei1+QHOVD1hmJYB7wTk"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"generate-password","message":"47xqKdyW+24nyZF4epZxD5dbCNt7Z8KuIJu1kv8YocN8bghY/Xp9CIZgU2r8bsieGQ1pguG/ZKLijYgd8WAm5ppN9sJ91lY2kmUu3s3GoNo4q3f62thgiFNs82SZTRHmEYZRs6iYhZk3xxWNJqdkf19MwVhB3C8CwXWpcBVPka4SW6IbjzEUvrZK0SuEw+SMXOnNyrsaH60J3x6Q+USDAPbsuJXj","nonce":"/rKDHxbAklMKhei1+QHOVD1hmJYB7wTk"}{"action":"generate-password","message":"4Dnm5sdfDMvjgL2luRMeRjwrj/xTtv7n83+HTg3TcCHJ4XPawPkcCGqr+bf85jNClSgzYW1X7UkdRUcVgXJdUOhNx9mq71dC+oa8S3etIBRajU1oE2MSDp/65N7iALACxsGPrb+hHOpWeuXLP/lfZSQd2FfFcGWsoto7+ftJWjGHMMjvNHQGVE39eRk5yZ/SK/rjS4LNVuT8sJcid9UAnGP2fq5X","nonce":"/rKDHxbAklMKhei1+QHOVD1hmJYB7wTk"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"generate-password","error":"Action cancelled or denied","errorCode":"6"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"generate-password","message":"n4aSiH6byrgeZVixT6TnQpfD8unZ2C/SOmWgtkI9VRR3d73FMz0I40+ufFFV7DkuwQGDZ+uHvoeV4ipMrOsqhB/gl3gi+1Q2XPlppojpceruHPgjQPMZvB4OPi1lJ5xusEF+uNkZV75V8L8azyrogKQ1efBNEN4sKaKmU3S2uDaQtUkHhmtx9BOnonqY5tQ6UotM7YqZ10VdcyPgZTpIJ71tUH7w","nonce":"/rKDHxbAklMKhei1+QHOVD1hmJYB7wTk"}
[main] INFO org.purejava.KeepassProxyAccess - org.purejava.KeepassProxyAccessException: Error: message could not be decrypted

I added qDebug statements after line 96 in BrowserHost to see what is sent back to keepassxc-cryptomator:

void BrowserHost::sendClientMessage(const QJsonObject& json)
{
QString reply(QJsonDocument(json).toJson(QJsonDocument::Compact));
for (const auto socket : m_socketList) {

Sending to client:
"{\"action\":\"change-public-keys\",\"nonce\":\"Ma3mKal5m0XjTgM0uW+S3shkZezyA3om\",\"publicKey\":\"ZtVZkyDmiPCNbJlzs0nKE7DBoYhjN0y4CuxGY4Rq9Ag=\",\"success\":\"true\",\"version\":\"2.7.0-snapshot\"}"
Couldn't load passphrase wordlist.
Sending to client:
"{}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"n4aSiH6byrgeZVixT6TnQpfD8unZ2C/SOmWgtkI9VRR3d73FMz0I40+ufFFV7DkuwQGDZ+uHvoeV4ipMrOsqhB/gl3gi+1Q2XPlppojpceruHPgjQPMZvB4OPi1lJ5xusEF+uNkZV75V8L8azyrogKQ1efBNEN4sKaKmU3S2uDaQtUkHhmtx9BOnonqY5tQ6UotM7YqZ10VdcyPgZTpIJ71tUH7w\",\"nonce\":\"/rKDHxbAklMKhei1+QHOVD1hmJYB7wTk\"}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"o+80N2eiBE80QpFqOSO7wBFTVb6LlZq9GNxU3Tu1AxlN91W3VqaNC8Ro0P7YBee1uEK7qWcskK9eEzHTy12MvRomrXzhy2NqlyHRUuM6IA86pyXLsxgo+ZsTH3PcSLlpXLqw7eGLslwnswof4RjJH1s/WCb5lLmO9CaqdTmLJSSbkhhd53Lz2/dTN+wT+l4pVfh0rgQkr/5GkvnIn3IKU1BdVlam\",\"nonce\":\"/rKDHxbAklMKhei1+QHOVD1hmJYB7wTk\"}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"47xqKdyW+24nyZF4epZxD5dbCNt7Z8KuIJu1kv8YocN8bghY/Xp9CIZgU2r8bsieGQ1pguG/ZKLijYgd8WAm5ppN9sJ91lY2kmUu3s3GoNo4q3f62thgiFNs82SZTRHmEYZRs6iYhZk3xxWNJqdkf19MwVhB3C8CwXWpcBVPka4SW6IbjzEUvrZK0SuEw+SMXOnNyrsaH60J3x6Q+USDAPbsuJXj\",\"nonce\":\"/rKDHxbAklMKhei1+QHOVD1hmJYB7wTk\"}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"4Dnm5sdfDMvjgL2luRMeRjwrj/xTtv7n83+HTg3TcCHJ4XPawPkcCGqr+bf85jNClSgzYW1X7UkdRUcVgXJdUOhNx9mq71dC+oa8S3etIBRajU1oE2MSDp/65N7iALACxsGPrb+hHOpWeuXLP/lfZSQd2FfFcGWsoto7+ftJWjGHMMjvNHQGVE39eRk5yZ/SK/rjS4LNVuT8sJcid9UAnGP2fq5X\",\"nonce\":\"/rKDHxbAklMKhei1+QHOVD1hmJYB7wTk\"}"
Sending to client:
"{\"action\":\"generate-password\",\"error\":\"Action cancelled or denied\",\"errorCode\":\"6\"}"

This differs from the keepassxc-browser protocol and makes it almost impossible to handle what is returned for generate-password by KeePassXC.

Context

close does work fine.

generate-password on 2.6.6 does also work fine.

KeePassXC - 2.7.0-snapshot
Compiled from the develop branch.

keepassxc-cryptomator 1.0.1

@purejava purejava added the bug label Jan 29, 2022
@varjolintu
Copy link
Member

varjolintu commented Jan 30, 2022

This is probably related to: #6529.

EDIT: It sure is. I reproduced the multiple replies. Fixing it.

@varjolintu
Copy link
Member

Here's the fix: #7359. Are you able to try it by compiling the sources manually?

I could get multiple generated-password events to show after the first time. Still not sure why it happened, but couldn't reproduce that for now.

@purejava
Copy link
Author

Thanks a lot for looking into and taking care of this so quickly!

Here's the fix: #7359. Are you able to try it by compiling the sources manually?

I could get multiple generated-password events to show after the first time. Still not sure why it happened, but couldn't reproduce that for now.

Sure.
The good news is, that the password generator is not sending an error reply any more when a password is generated.
The bad news is, that it's still not possible to handle the reply on my side.

To make things clear, this is the code I ran:

kpa.connect();
kpa.associate());
Thread.sleep(10000L); // give me 10 seconds to enter a associate id
kpa.testAssociate(kpa.getAssociateId(), kpa.getIdKeyPairPublicKey());
kpa.generatePassword();

Logging on the keepassxc-cryptomator side was as follows:

[main] DEBUG org.keepassxc.Connection - MessagePublisher started
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"change-public-keys","clientID":"9mmxNf9uGtySBSa89YRHCEmyJg11liQV","publicKey":"vy4GYwx/SIMPpgcE3sdzUcx9xFYNxNwK/fm7TQtq2F4=","nonce":"BKnSJJcL4Y2qXPgONUUfCoNaaIQKKWQo"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"change-public-keys","nonce":"BanSJJcL4Y2qXPgONUUfCoNaaIQKKWQo","publicKey":"CJOHhTiaSCrxg2ggbVgQ5yZWUFYsRHzKcqeidlvB7jk=","success":"true","version":"2.7.0-snapshot"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"success":"true","action":"change-public-keys","publicKey":"CJOHhTiaSCrxg2ggbVgQ5yZWUFYsRHzKcqeidlvB7jk=","nonce":"BanSJJcL4Y2qXPgONUUfCoNaaIQKKWQo","version":"2.7.0-snapshot"}
[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"associate","idKey":"pPMGq/UL9bOUukiKhC8ybd3KXoy7P2UQ5Do6YCmISgg=","key":"vy4GYwx/SIMPpgcE3sdzUcx9xFYNxNwK/fm7TQtq2F4="}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"associate","clientID":"9mmxNf9uGtySBSa89YRHCEmyJg11liQV","message":"7OjT5DbkTE9x1QcwofmIJbDigSS8i9kkry1OUsPg4eKCGaek1qesewehV7q12MkOGR4xZtEhQwjfHMieiZ2kq70pP5aPAoxvTLEe2QjjnG6sMEiBF78ZId/73aYHsAHAwIUvLu/aVpb0m+tLKu/p7yrvA5dcq0xJ6uw/e6oUy6qJ48anrsl53XE5javTnWWHbRc=","nonce":"b1sccgBTlul/jG/2fE+yqml0I4DwsDcI"}
[main] INFO org.purejava.KeepassProxyAccess - org.purejava.KeepassProxyAccessException: Delaying association dialog response lookup due to https://github.com/keepassxreboot/keepassxc/issues/7099
[pool-3-thread-1] DEBUG org.purejava.KeepassProxyAccess - Attempting to save credentials
[pool-3-thread-1] DEBUG org.purejava.KeepassProxyAccess - Credentials saved
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"associate","message":"cz5XYJpOU4be79oZxGW4wjRrE94Jg5cH2NcHfwnH3YmMJTZf6UEpAsfcRmHtRm7tXAi9/D4g4bOwRmHp2hKSQ3NM+CaWnnm7dFMDPSU6hhUN7Nz1ZzRIqAupaQQxIiXxrIQUsdLrtg7sQ5/hl83acvAqGQ4U9oYzxvwEDUS0WMlkTHg393kj3pW+WR1JcyUhzsdgMd4GGITOY5rsXPw4RvlgOdZGUa6mappmy1rofM+nZC7zZXn8h0bUVMyqJlsRXcNErmwj7yAdlB8f2ir6OxcZnCi83wzNldiljT1a","nonce":"cFsccgBTlul/jG/2fE+yqml0I4DwsDcI"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"associate","message":"cz5XYJpOU4be79oZxGW4wjRrE94Jg5cH2NcHfwnH3YmMJTZf6UEpAsfcRmHtRm7tXAi9/D4g4bOwRmHp2hKSQ3NM+CaWnnm7dFMDPSU6hhUN7Nz1ZzRIqAupaQQxIiXxrIQUsdLrtg7sQ5/hl83acvAqGQ4U9oYzxvwEDUS0WMlkTHg393kj3pW+WR1JcyUhzsdgMd4GGITOY5rsXPw4RvlgOdZGUa6mappmy1rofM+nZC7zZXn8h0bUVMyqJlsRXcNErmwj7yAdlB8f2ir6OxcZnCi83wzNldiljT1a","nonce":"cFsccgBTlul/jG/2fE+yqml0I4DwsDcI"}
[pool-2-thread-1] TRACE org.keepassxc.Connection - Decrypted message: {
    "hash": "3eaa108260543ae4d701a378a9f05069bc3076f4da7b8f415ceee23a787c3fa9",
    "id": "Test",
    "nonce": "cFsccgBTlul/jG/2fE+yqml0I4DwsDcI",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[pool-3-thread-1] DEBUG org.purejava.KeepassProxyAccess - Attempting to save credentials
[pool-3-thread-1] DEBUG org.purejava.KeepassProxyAccess - Credentials saved
[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"test-associate","key":"pPMGq/UL9bOUukiKhC8ybd3KXoy7P2UQ5Do6YCmISgg=","id":"Test"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"test-associate","clientID":"9mmxNf9uGtySBSa89YRHCEmyJg11liQV","message":"VOgjd4v672SKVgKm+b+8Ki8J99lf+cZzoAYuRsq486xWuLEIbDHWC+rLcbk1yTeRwk/3+LYJkDcOt1Byh4V+6DGKrNx0zIV83hJxUEZurgL+YMU/TIUHBifntUlf26NO2oehVj1HXba8fqPm","nonce":"89ykEpDoEtX4LQ9TamXMLFEpEzAHeEAK"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"test-associate","message":"xJioTxs359KU4FqFW7ZDsqNvOijZ/7pKZbBWo6Tyg0M9WJZyTOutzDLRFZnJkALnVOf0wzzLjKot17wxqFjoU7SqF/Rz8sJtbaV8bKnfG7NEcK912juFzq7i7eYyiPTbXH7QfJv281Gq0zS70imch0pliO9TujCvvQpLnzhP0WwdAOenzVAwjG1w3e3KJ5cKgeRUPj25EQeoN4/B1+p+EXACKmzohg8o93VrGj8srhgdXTJjHGzu2rXfQSVJ3RtNlF7+ID9Ls/ubi4M/XCGR6XtsclQJxWf4e2QKupQX","nonce":"9NykEpDoEtX4LQ9TamXMLFEpEzAHeEAK"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"test-associate","message":"xJioTxs359KU4FqFW7ZDsqNvOijZ/7pKZbBWo6Tyg0M9WJZyTOutzDLRFZnJkALnVOf0wzzLjKot17wxqFjoU7SqF/Rz8sJtbaV8bKnfG7NEcK912juFzq7i7eYyiPTbXH7QfJv281Gq0zS70imch0pliO9TujCvvQpLnzhP0WwdAOenzVAwjG1w3e3KJ5cKgeRUPj25EQeoN4/B1+p+EXACKmzohg8o93VrGj8srhgdXTJjHGzu2rXfQSVJ3RtNlF7+ID9Ls/ubi4M/XCGR6XtsclQJxWf4e2QKupQX","nonce":"9NykEpDoEtX4LQ9TamXMLFEpEzAHeEAK"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "hash": "3eaa108260543ae4d701a378a9f05069bc3076f4da7b8f415ceee23a787c3fa9",
    "id": "Test",
    "nonce": "9NykEpDoEtX4LQ9TamXMLFEpEzAHeEAK",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"generate-password","clientID":"9mmxNf9uGtySBSa89YRHCEmyJg11liQV"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"generate-password","clientID":"9mmxNf9uGtySBSa89YRHCEmyJg11liQV","message":"mLbkZt8NmIa3AjfB9UIcLkVAXTnK/SqEdMFfn5Ozs5+0xOdkI1ateql2nmEoTD0hfY5rJVcurR+1UM8Xl9yNoTw6HZGrqyCFbjzkK5R9QXBSWaSYtIV1XhqcSgA=","nonce":"wXMppLjA0ldk2ltowxsFcvSu7NKosXl3"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {}
[pool-1-thread-2] TRACE org.keepassxc.Connection - KeePassXC send an empty response: {}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"generate-password","message":"tDLamdXUFrxl4tsFPsEDocwmGPrIDO6P/FnUUoHQWIa7haymVGZE26DEWk5hLBafMrPjBiX/hes0FPRwJ4QmCTjkxIrclTdO2vRobphlMtEmfvQ6QueAIu6ywQ7VaCjsALLBWGPsrGGPAi/NezKu91Z4vO+G+dotMHjKHmIpvcOSTsmUuyXusOV3ZMh8738Q8e6W6wtL4rhWfgKTOkamDSjtago=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"generate-password","message":"tHc2/MCn8iHR3XOilsRUrES1gAePDqLkNYHuZ0EMRUfetjzV7K8Ms0+luJIEBFWE2PieztCxL99LRRftfk3fx/xHQwQI3dsIPgUxSIdZS6fGkfInzt7h3/tG6Uaz4vcFjYlCbn8IHbE6GKB6LFjXCtVBiWOh4ughLh84X0fkNPXPykm2pnHRB4QZQQiZTMgz/9jF2c0ArmZuuHNzviDvVj7jLeI=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"generate-password","message":"A3dwouo7r3P/DqGGZ/vSn5g8SiLD7CnxxBh42N7Bjop8uj3Wh8m/g3pnVTJ8QpbMMdyRpxhHd0jgYS1I4qY4fflAE20a8NnrEMQMun9+owmx3mX6Pb5hQb5rswPRGud8rV/cXPH53WKyLG5twbJLm/otBgtM50Vv6pY1LfeRuXV1Y9E7QmRnuzbH/ig0nBLDD51carO6tD8eHX2fSxT8QG5LoDQ=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}{"action":"generate-password","message":"mQPax+HTWBTYExdAfsrskHSdEOLBdk91dZwKkZMd64AtDAdq9LAOoxekwwO5OhNnGJK7XB4TpqmaCB0MnmD5w3+0BJ8v9T37EJ95WIz7NOyfBH6Vs1x/thgr80vCeMAiWXsFA/XWwT2mEx/I2ODV+gPWfNhUF7aRVR1CnmWP+7Kx5C5Yv3iF3u7X2pXNzDAQl20Da60zfvgoGHR7dKH6DnlFIVI=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"generate-password","message":"EWQrv5uXzJaUNGpKhoDuT9ydlUaiDnO+x8/ihUsk2pDEuJIex9na5xbOgcZlXzmw0QKTlJtj3OwkJ4l32nihbgz7t7uy5Q37YoEXYvz3Odm4n1xBCzjsoR4tl0GXU/BfyIKaLwTRrerXZgFmXwHM1qftzGUHcArFCTFiRdwVATqKfbAAh1Hph+vWDaxvvlR6fvDmlDqw1zEdu8VS4Ut9SfoylUE=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}{"action":"generate-password","message":"rQAdGri4EeEULTWFdwURhkDfKaGyUaA0A8yPK0t+pNIgJJwg3eWls81c4oKaviAGCpRXa7f5nXM1X9RxeeIwQbsYGOq3rCzgQSqIQstIywF4t6KZuzfE8r18w20jJO8wQ/COXeUqE4VZUkM8M8TdvmB/2diXr367L+SxqjNCCr9SDagJf1eXxxVtMFAdIrDGhY3RpqRPzSAM5pv3du7LmpO3cGs=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}{"action":"generate-password","message":"jTBWadDmppPl5ODmD45n5budTfs0UiGMj8HfNdJyJno0gxaUhw4o33toktMgMvKNX5SBEm8POHaWsSAWpFWuC5qoErt7flIzSUg3UT/Z91IaB8BKvY1armauDb9KOhmNcGGonjbzK5AgTL9TaHfXdR62ZTiX2z99hVvhCTNDCui9xWpfgSZ1cxJ0HyfkWeH5iANWJ8FD7j6kociMgcUIaCrfwrg=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}{"action":"generate-password","message":"5Fxkd9yxgwl0LrXxCnVjT35V6VpHj7sIIHQKvk+bwB8qVI1DmnUkxxBC+jVX+zu1Q
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: B+VGkHvZpfE+n3RNKgP+x7qOClP/JOc7R1Q9u/AYZH8oPlboypH3TXaUXvWxSXOjN4qOSJ9j4xPFKkoC2tD2GkPCE2Srxzd2OYWdBdv3bg5SQRy7gOzTKK1VMyrlCNvmv0ULPnx2bh6d8WkHNBZW+x1+us=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}
[pool-1-thread-1] ERROR org.keepassxc.LinuxMacConnection - Message corrupted. Received: B+VGkHvZpfE+n3RNKgP+x7qOClP/JOc7R1Q9u/AYZH8oPlboypH3TXaUXvWxSXOjN4qOSJ9j4xPFKkoC2tD2GkPCE2Srxzd2OYWdBdv3bg5SQRy7gOzTKK1VMyrlCNvmv0ULPnx2bh6d8WkHNBZW+x1+us=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"generate-password","message":"tDLamdXUFrxl4tsFPsEDocwmGPrIDO6P/FnUUoHQWIa7haymVGZE26DEWk5hLBafMrPjBiX/hes0FPRwJ4QmCTjkxIrclTdO2vRobphlMtEmfvQ6QueAIu6ywQ7VaCjsALLBWGPsrGGPAi/NezKu91Z4vO+G+dotMHjKHmIpvcOSTsmUuyXusOV3ZMh8738Q8e6W6wtL4rhWfgKTOkamDSjtago=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}
[main] INFO org.purejava.KeepassProxyAccess - org.purejava.KeepassProxyAccessException: Error: message could not be decrypted

And here is what was sent back from KeePassXC to keepassxc-cryptomator:

Sending to client:
"{\"action\":\"change-public-keys\",\"nonce\":\"BanSJJcL4Y2qXPgONUUfCoNaaIQKKWQo\",\"publicKey\":\"CJOHhTiaSCrxg2ggbVgQ5yZWUFYsRHzKcqeidlvB7jk=\",\"success\":\"true\",\"version\":\"2.7.0-snapshot\"}"
Sending to client:
"{\"action\":\"associate\",\"message\":\"cz5XYJpOU4be79oZxGW4wjRrE94Jg5cH2NcHfwnH3YmMJTZf6UEpAsfcRmHtRm7tXAi9/D4g4bOwRmHp2hKSQ3NM+CaWnnm7dFMDPSU6hhUN7Nz1ZzRIqAupaQQxIiXxrIQUsdLrtg7sQ5/hl83acvAqGQ4U9oYzxvwEDUS0WMlkTHg393kj3pW+WR1JcyUhzsdgMd4GGITOY5rsXPw4RvlgOdZGUa6mappmy1rofM+nZC7zZXn8h0bUVMyqJlsRXcNErmwj7yAdlB8f2ir6OxcZnCi83wzNldiljT1a\",\"nonce\":\"cFsccgBTlul/jG/2fE+yqml0I4DwsDcI\"}"
Sending to client:
"{\"action\":\"test-associate\",\"message\":\"xJioTxs359KU4FqFW7ZDsqNvOijZ/7pKZbBWo6Tyg0M9WJZyTOutzDLRFZnJkALnVOf0wzzLjKot17wxqFjoU7SqF/Rz8sJtbaV8bKnfG7NEcK912juFzq7i7eYyiPTbXH7QfJv281Gq0zS70imch0pliO9TujCvvQpLnzhP0WwdAOenzVAwjG1w3e3KJ5cKgeRUPj25EQeoN4/B1+p+EXACKmzohg8o93VrGj8srhgdXTJjHGzu2rXfQSVJ3RtNlF7+ID9Ls/ubi4M/XCGR6XtsclQJxWf4e2QKupQX\",\"nonce\":\"9NykEpDoEtX4LQ9TamXMLFEpEzAHeEAK\"}"
Couldn't load passphrase wordlist.
Sending to client:
"{}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"tDLamdXUFrxl4tsFPsEDocwmGPrIDO6P/FnUUoHQWIa7haymVGZE26DEWk5hLBafMrPjBiX/hes0FPRwJ4QmCTjkxIrclTdO2vRobphlMtEmfvQ6QueAIu6ywQ7VaCjsALLBWGPsrGGPAi/NezKu91Z4vO+G+dotMHjKHmIpvcOSTsmUuyXusOV3ZMh8738Q8e6W6wtL4rhWfgKTOkamDSjtago=\",\"nonce\":\"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3\"}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"tHc2/MCn8iHR3XOilsRUrES1gAePDqLkNYHuZ0EMRUfetjzV7K8Ms0+luJIEBFWE2PieztCxL99LRRftfk3fx/xHQwQI3dsIPgUxSIdZS6fGkfInzt7h3/tG6Uaz4vcFjYlCbn8IHbE6GKB6LFjXCtVBiWOh4ughLh84X0fkNPXPykm2pnHRB4QZQQiZTMgz/9jF2c0ArmZuuHNzviDvVj7jLeI=\",\"nonce\":\"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3\"}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"A3dwouo7r3P/DqGGZ/vSn5g8SiLD7CnxxBh42N7Bjop8uj3Wh8m/g3pnVTJ8QpbMMdyRpxhHd0jgYS1I4qY4fflAE20a8NnrEMQMun9+owmx3mX6Pb5hQb5rswPRGud8rV/cXPH53WKyLG5twbJLm/otBgtM50Vv6pY1LfeRuXV1Y9E7QmRnuzbH/ig0nBLDD51carO6tD8eHX2fSxT8QG5LoDQ=\",\"nonce\":\"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3\"}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"mQPax+HTWBTYExdAfsrskHSdEOLBdk91dZwKkZMd64AtDAdq9LAOoxekwwO5OhNnGJK7XB4TpqmaCB0MnmD5w3+0BJ8v9T37EJ95WIz7NOyfBH6Vs1x/thgr80vCeMAiWXsFA/XWwT2mEx/I2ODV+gPWfNhUF7aRVR1CnmWP+7Kx5C5Yv3iF3u7X2pXNzDAQl20Da60zfvgoGHR7dKH6DnlFIVI=\",\"nonce\":\"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3\"}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"EWQrv5uXzJaUNGpKhoDuT9ydlUaiDnO+x8/ihUsk2pDEuJIex9na5xbOgcZlXzmw0QKTlJtj3OwkJ4l32nihbgz7t7uy5Q37YoEXYvz3Odm4n1xBCzjsoR4tl0GXU/BfyIKaLwTRrerXZgFmXwHM1qftzGUHcArFCTFiRdwVATqKfbAAh1Hph+vWDaxvvlR6fvDmlDqw1zEdu8VS4Ut9SfoylUE=\",\"nonce\":\"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3\"}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"rQAdGri4EeEULTWFdwURhkDfKaGyUaA0A8yPK0t+pNIgJJwg3eWls81c4oKaviAGCpRXa7f5nXM1X9RxeeIwQbsYGOq3rCzgQSqIQstIywF4t6KZuzfE8r18w20jJO8wQ/COXeUqE4VZUkM8M8TdvmB/2diXr367L+SxqjNCCr9SDagJf1eXxxVtMFAdIrDGhY3RpqRPzSAM5pv3du7LmpO3cGs=\",\"nonce\":\"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3\"}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"jTBWadDmppPl5ODmD45n5budTfs0UiGMj8HfNdJyJno0gxaUhw4o33toktMgMvKNX5SBEm8POHaWsSAWpFWuC5qoErt7flIzSUg3UT/Z91IaB8BKvY1armauDb9KOhmNcGGonjbzK5AgTL9TaHfXdR62ZTiX2z99hVvhCTNDCui9xWpfgSZ1cxJ0HyfkWeH5iANWJ8FD7j6kociMgcUIaCrfwrg=\",\"nonce\":\"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3\"}"
Sending to client:
"{\"action\":\"generate-password\",\"message\":\"5Fxkd9yxgwl0LrXxCnVjT35V6VpHj7sIIHQKvk+bwB8qVI1DmnUkxxBC+jVX+zu1QB+VGkHvZpfE+n3RNKgP+x7qOClP/JOc7R1Q9u/AYZH8oPlboypH3TXaUXvWxSXOjN4qOSJ9j4xPFKkoC2tD2GkPCE2Srxzd2OYWdBdv3bg5SQRy7gOzTKK1VMyrlCNvmv0ULPnx2bh6d8WkHNBZW+x1+us=\",\"nonce\":\"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3\"}"

Results

First, I discovered a problem on my side, that reading messages does not stop at the end of each message, but it's reading all that was sent. I'll fix that. Nevertheless, I think, this is not related to this issue.

Second, it's still not possible to decrypt the first reply. This also happened on the test that led to the issue description above and I suspect this to be a further problem.

Although all the server nonces contained in the returned messages for generate-password look the same ("nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"), it's not possible to decrypt the first message. But to be honest, I am not sure whether increasing a nonce by 1 one the server side changes the b64encoded nonce string.

Decryption on my side is quite simple:

var bMessage = box.open(b64decode(response.getString("message").getBytes()), serverNonce);

Can you decrypt the message containing the password in the browser?

@droidmonkey
Copy link
Member

My first thought on this was that you weren't flushing the buffer after reading the message. The same nonce supports that theory.

@varjolintu
Copy link
Member

The generate-password works a bit differently now. It always sends an empty reply because it doesn't wait for the password generator to finish, but returns the reply asynchronously. The client is responsible for listening the correct reply.

@varjolintu
Copy link
Member

And if you want to make sure what happens on KeePassXC side, it should be definitely debugged, or at least have some debug messages on the release version.

@purejava
Copy link
Author

My first thought on this was that you weren't flushing the buffer after reading the message. The same nonce supports that theory.

Yeah, I need to fix the buffer handling, but nevertheless it reads the complete message, not more:

[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"generate-password","message":"tDLamdXUFrxl4tsFPsEDocwmGPrIDO6P/FnUUoHQWIa7haymVGZE26DEWk5hLBafMrPjBiX/hes0FPRwJ4QmCTjkxIrclTdO2vRobphlMtEmfvQ6QueAIu6ywQ7VaCjsALLBWGPsrGGPAi/NezKu91Z4vO+G+dotMHjKHmIpvcOSTsmUuyXusOV3ZMh8738Q8e6W6wtL4rhWfgKTOkamDSjtago=","nonce":"wnMppLjA0ldk2ltowxsFcvSu7NKosXl3"}

This is what it tries to decrypt, and the only two ingredients are the message itself and the nonce, but it cannot decrypt it.

@varjolintu
Copy link
Member

@purejava I suggest debugging KeePassXC in this case. It shows you the unencrypted message and all other info. Maybe also the reason why multiple replies are triggered. I cannot reproduce it with the browser client. All I got is a reply from get-databasehash and then generate-password.

@purejava
Copy link
Author

The generate-password works a bit differently now. It always sends an empty reply because it doesn't wait for the password generator to finish, but returns the reply asynchronously. The client is responsible for listening the correct reply.

I definetely will take another look at your browser code on how you identify the right reply for generate-password. As far as I remember, you match the action and the nonce, right?

@purejava
Copy link
Author

@purejava I suggest debugging KeePassXC in this case. It shows you the unencrypted message and all other info. Maybe also the reason why multiple replies are triggered. I cannot reproduce it with the browser client. All I got is a reply from get-databasehash and then generate-password.

I'll give that a try, although I am not familiar with C++.

@varjolintu
Copy link
Member

varjolintu commented Jan 30, 2022

https://github.com/keepassxreboot/keepassxc/blob/develop/src/browser/BrowserAction.cpp#L73 This is where the send happens.

EDIT: Basically you can just add a line qDebug() << password; inside the function if you want to just check what password is replied. And start keepassxc from shell. This is the easiest step if you have trouble setting up a debug environment.

@purejava
Copy link
Author

purejava commented Feb 8, 2022

The current implementation of generate-password is broken and I managed to get a repro.
This is with KeePassXC - origin/release/2.7.0 and the browser extension 1.7.11 loaded to and run in Chrome only, no keepassxc-cryptomator involved.

First setting is: Association done, freshly start KeePassXC and Chrome, navigate to accounts.google.com and trigger generate-password, then trigger generate-password a second time.

Issue: this works once, but the nonces get out of sync immediately. It cannot process the second call of generate-password.

keepass.js:1105 Connecting to native messaging host org.keepassxc.keepassxc_browser
keepass.js:120 Got message: {"action":"change-public-keys","nonce":"hLH41lzemFzFM+Tk4g8aEnsbnyyRuuVY","publicKey":"2xItIVV9xo5oJvGDtvCd3ExHeo2+Uhas520BRH8sgnw=","success":"true","version":"2.7.0-snapshot"}
keepass.js:640 Server public key: 2xItIVV9xo5oJvGDtvCd3ExHeo2+Uhas520BRH8sgnw=
keepass.js:120 Got message: {"action":"get-databasehash","message":"AwBGVOJvc6YNcTFiDKeWt37Qwwt2qe/zcqNDHLamHlPP67rSp0J3oj0k/uU7n1h+UF/MHy4F6KRioH8WQLlY0c0e3SlWG/9m+qR1Ar81o9DsGiabRlRzAK1tLqmDrAd4pWdkGpD34ywAawmVnHk/29qql1w26vWa9nb2JsORZzVr+xjN9ppRYgUk5FyQEoUr5drAsFVSwLDBKG72XjdwvEt6f8kxotNac0SppjNMgRDiihhaJpcxVHq3eLOnEIfF9T7G1hudfYZ0/OHv4PGdG8O3ud2g8PD8qj8o7hgFquKWbnrmLC5RqnJ50W8y24WAuySi6wDJ/MI48ksBF7Yk3WQ0+dQMSrc7KSti3NNSywqxnQXZOIsfmR2lpGb1G24=","nonce":"PDJ+5iEk4HgunkaYkpge27igdN8OGgnn"}
keepass.js:120 Got message: {"action":"get-databasehash","message":"4gNy8wGokedLY0DBWDMBinD3U6lUbvjGPF6ZkinF0eFUACTKu7Io4ToefhhpukwR5PDJbvK85TWpYidnTxUQiARKylJDKfslZjPYPp9OmWIrkuVUSs3xdmwKNs77YPxcA1iGe9gFN1TsTIn2guLEORy8doqqHPWCbAYI55Nw7+P7k1ZMbdEHbQbsULuIpPVPBV6+fzi0r/bXggFGLPBGBehytMoJe6RD8dTqqCWHBIy7406lscr6kzhC4FouvDGfbOsthShZ5JWvRnF1ZXirD//KyEMR39hSqhRRjmPGFinwQkurkds8idf9nwRnWsIIiD9rKYKqQ2WEY+PH86f8a4Gcx/Cu6oqcv79h1AGKxVh8Fq0WJ4ymNuTNrpEo/v4=","nonce":"zA7bLIsum0JRyL3bgsRUm+UxVfDY1FLF"}
keepass.js:120 Got message: {"action":"test-associate","message":"FlNHP/z6WYPEUKH4EwKGbHYk3ZRmUzFgADUIigYVc4ai6+Lvic7SYEW/dnPfofpPjfJS0+NoyVosTs6LAc5GyvptQpTgLnuDfZnMXRfmA37X2aefSy7yuFelBwg9m9mfjCITr3kRJeVFE883BVvp208gZiI9agZcWmUAMA61YJTNZlXyrUsUMRpmINDmmHOT5mW6lKUVGKV0b2l2QwVSISieMSbdKObfWKDEAmT9zBpvAtR7TG1ZNhCFzDlgQKFVhQqFz9g1tcGH6RAR4GYC2IndaUeiZphN0xPJYQoE","nonce":"RPfn4jpZi6DIl8jSV0mJziXgRIRtEdJE"}
keepass.js:1308 Error: No content script available for this tab.
keepass.js:120 Got message: {"action":"get-databasehash","message":"K7T9RVN57vqx3XFaUrRDGVwRGpqljZkhDugC5vwJcud4JCx5OlNgPysbjugzCp+jvWNrS8cSThqEPFnbwGbggWvOoMJUhKtLq7G5TrMWWw2NgnNJRrTWqZ5dBb9jeQPdiykKR60/R8h1WOmOigIgJFuRnY8uU4O/dc0JJsx5VZpfo9uAM5qCWI3YFgViZZRd0S0BAJRz5DxnoEQE9hURmDzoQUvWDPRjuvjvNX7AFMeNmfEqTPbD5EA2f92/KBRiHZRKGE74uubOTdVcyazi6G7L63CCvIz9uo/kjvgiZ8A4ATjZY50vFzI83YOo568rMnJvjSV+ZnWE7ewSJisC3rRJ3J8nai7eEwp0UCcRpZsy4mLLU/uVe5SVzdyGK5Y=","nonce":"Z4LCxUWN7C7Z5cKDsZ9Gn5nXSmTJFTp5"}
keepass.js:120 Got message: {"action":"test-associate","message":"uGOz1XD6zLz6CIFwlO0YArYGeTP88UpORCKi5dqXJd204o4uS3bmtiowGuHdzskOjUHPB5KhHj6OoqX+DUk5CNM/56KCXvHQa2VszNA1KK1BlKQMlbc0eEkNA7SaRcpRBl1A16Q4cHKJr2Oy2+uFd5gu5S867EBCKT9EJcdnDDqkInFjS83IPmgTWUi4M22MDqXpg5ND1FD19dNwiov8Y+TkDIRYKgKQnlXEXiG9qZzUHCWqrYAPukd1Pfkp7FLb3O/fEhRP3ajW9X6zHJNPQB9r/0Z41W8oBZtG9WY6","nonce":"qB1ngyJVAU1VyjG/IyFOe8pg5pQPhsj1"}
keepass.js:1308 Error: No content script available for this tab.
page.js:209 Cannot send activated_tab message:  {message: 'Could not establish connection. Receiving end does not exist.'}
keepass.js:120 Got message: {"action":"get-databasehash","message":"n84cmF+TuTyEEOhamttz3zv1o6YD7Doy1zacB89Qb7dEQ775J0aqk7NbVQFVmNnCRrjchz5GCPlAtPbJXBRetCk82oIDI+8/IqWBtEskaWbFD7v+dPIJwrx/zqkdQcimRFj53ijw4wQJwlK37Z+3pzZa25Y/s2auC3naHBe++1IDAahihzblFSxCip7MLEEkA46+R76mz2czQnmLu77pqALvF30H6ONmpC8DbywJ2UtJU7Gdt82WuB146XctYJbCbxKqy+cd6eD32JmdxTMizntMTM4V4w8qhe1mKBJRkRKzf6nDlnvkrf8ssvUI4zQfbnHfIE6WRItYy3qa8nArdK3fFq5Ha5fI6PyWd9Tde56V3yMWAuEBZap/iYD0tv0=","nonce":"JbXNYLBPXVlwjiVTbVzGGDWHl6GrN4/a"}
keepass.js:120 Got message: {"action":"get-logins","error":"No logins found","errorCode":"15"}
keepass.js:1188 Error 15: No logins found
2keepass.js:120 Got message: {"action":"get-databasehash","message":"ZzQ9uB1iaogCkrB4HT/gjz7uBt1M8kdEUCCOep5HKJsrMeMx0evunRmPY5akXE6jreJrTx23esoSTnejxYTtYVaGeM/X/tDpPMuNavvWeYaxKEn8aCJODyM0Y0ejc8t7bt9pwDV/EIC2c3tBgZmOTLx9dgJ3Woa+7d7705I6w4SnMPGtGE2Rg5IK/KfB7ctMu4gCBk0sSHKPep9lBalNrkFk+QxZMaHLRlCZXQ4xGqQ1KxJqknyObDXvW9zuPaoqou/k5/gL57KWVATteEg7FzetUfJzQVVgHUeuCOpI3vYCjZ5shhZdf3+h+TWg+2ade5pLExZnN3Y0SfOu9GC2eAx2uVnWkDaTnOOwcWv+H1RBS+UujsnJiyAtM5DDxKU=","nonce":"NGmEVlOXisQIqPoj8pM8ZjNHMyDSJoZV"}
3keepass.js:120 Got message: {"action":"get-databasehash","message":"QKiue1kLnKYwDrUshvnW1ru9D0VV2AIzrb0qCv+Uklu0zdTTNubNOPOxit64kj24YYGiVRZTJ+vP6CkyuadMSe2NMxRNwLvGLC3JdL0zkKEYfJWFTKBpGqHy6X0jiXQjDJNDSWtPutGJws5Sq4x9Fswgr4PZS4V/EjHY/5m1ektT59+0QhHlUBb0PSJMYazzGktOrOMEcZJ8vUPCJD+1lGgWojMzQ9UZg/6Q9XWpY6uWZQzh0myv2xbqlnmK+RUUIJlEjy3XZnKnK+OWsLhUrrO+SLKTUJeDzoonCgYh0Jr5NWP/bdMSlutEscn1YMOsJf6qyYPYS0P8u+CIETYMD2VjfAk8IiHcZFHiKiAcbXa+TV59fNMeFPZj8uF9IP8=","nonce":"gok2IDDFocIeo5FrxcKmvmuVXOVsXW/h"}
3keepass.js:120 Got message: {}
3keepass.js:120 Got message: {"action":"generate-password","message":"yJVWhESxhO6XyzPva9oDvWGAFbb/A3gqQnXSdjprMImiB93lHvcttVpEeaTGl04USDRG4oo9BFG+8y/5Xq7OIqwMmBtj5NvGYxLwzauzwN/1x/lKPl5KYEQK8A6aXzykbfovqpEnON2ZVsdH0lk2VOprB6U9BwbW3A7G5nkLmaP9pIKrnhlMMu4vFca56kWfnFdbv3b5/DGC2LiigkDA6yyvOAk=","nonce":"VoAZg9lwN+EwmONz3C7Hd9ttaA3CJH64"}
keepass.js:362 Retrieved password:  69$FuTe:gT#Sv+=R_3;X
5keepass.js:120 Got message: {"action":"get-databasehash","message":"D+UD9PYMaXDGxbPwBK3h3+OsohvRoYM/fC30Mc9uQg7+u+KhAApzC5l3OgH98LVEL0iyJGDB5ifnUxUUDhggreBhXAkCcb7Twrhi1nwD0I+frXm39Q2+ZT87cVqVoMK2OI4h7VZSG74lQxLa3wRh1R4xh0u5HY6viHGgNYNePsIqR9PZynP4jcHEnxYVI5nLDc2hI/JT9sWMhTlnO6gb7Md/1iK4AZ1+Mme7//pCRTYFP87l1ndEJv7PlAHf6YFlgu7Dkd09ZthQYjgV7rSV/YB7rQB800u8C49ySqZpWzj3V0OitWBs/GBPm+NVW4laJL6FuY4K7n9iFHKMn6Dxt2pVgCBO4nclwZ14uuX9OgmY0L1jpKhsk2omjBCZAYY=","nonce":"8tW5LxrSIaNcfuuR9MZBAxNsFRwVLiyl"}
keepass.js:1172 Error: Nonce compare failed
5keepass.js:120 Got message: {"action":"get-databasehash","message":"Eg3Xx8ua+fhl4jk7gllJ+6GsXJ8rV719gDkcb1k7dKXdZr06/88zY1lQpuo0qOpwjptWVU/34edbL8fcYkyiUFqie1wNcM3otjVjc+u+vVQFpUsfJPNYO0hitUg8CIkyhwqfC/ZPErboiqXDPLxs29q/0gHFKzqYtiXXjI285gded30RWqvBxIYaPTEuCT6fkxF6n91apbCS3ZubM909qOduVMOmVd8SIHTFqztayzydhUKpUGWn2UQmw3SoAVIOzvWJuEEKzzvGm+DDsB7sL3crIl84y8KEwEgIzoJLNVRYJEOs7FxUJ6NBGEEEX6B9HiNFi62QV/KJvofOGVY0xlfd8+pfv8JTlCEoMUv0Oo67ZOQ7MWeYm6F4nvUXb5U=","nonce":"3u6i/XZC7tLr9n74ZXSpSNJhttb4ot7m"}
keepass.js:1172 Error: Nonce compare failed
5keepass.js:120 Got message: {}
5keepass.js:120 Got message: {"action":"generate-password","message":"jFu5KlPDi6G+qsuPRLj4Qeoc8sdZ61Ftm9Pa4r5g1pz/h0vfiWMSFScfOjm/1euHuFiWMIqfnNmA/xBLYh1ZMNI3/rqvqYE6h8X52+Tza7z1kVCzFGKVeuREH+Ov4eIBG+1fzjqA7tSziXkJ5bvInQIBeI75c9nMTonpfIz52jOVZrdAGEwD7wHaSWRk1wjkBFs4U+xDTNG4Spi5pZYIRp39r9Q=","nonce":"VjYry40SuMz54N3LM4t6vPJgIy9ZbasD"}
keepass.js:1148 Error: Nonce compare failed
keepass.js:360 GeneratePassword rejected
keepass.js:362 Retrieved password:  undefined

@purejava
Copy link
Author

purejava commented Feb 8, 2022

This can also be verified by having the same setting, triggering generate-password once and clicking on the KeePassXC icon. The dialog shows, that it lost connection.

keepass.js:1105 Connecting to native messaging host org.keepassxc.keepassxc_browser
keepass.js:120 Got message: {"action":"change-public-keys","nonce":"yDCpyfuj2UjEXYGJGq92G0O5T0A9lvbi","publicKey":"vYBnnPMkt1J6wBMAL9DmxPoTmZykd9ENsnyjXYSQAiY=","success":"true","version":"2.7.0-snapshot"}
keepass.js:640 Server public key: vYBnnPMkt1J6wBMAL9DmxPoTmZykd9ENsnyjXYSQAiY=
keepass.js:120 Got message: {"action":"get-databasehash","message":"rj1yabjymK6oTpmSAl0mqOVe1gXsYPOgwhy/oevomLyjaOhX58gJ8clAn661s9L/EeiN3C0wXtOvIFAwnejemBaCNoQV+JKAS+nd3OvmmeOufn/4Dl8IJEIBleHhdg6qed3Df2UzlY/ILIFgP+eei67mfLymJFpnt9JyuM36/JiA/Cn5nEKO/t/Xw8wpaz8VqsrpAdFS9I7wUpa0y5NmThzrxJ1TIQAW4JUsnx4moGIMEiN9kVfkesifX4s+p0urs1jGtlZo2Dx1APkYufS3Ikhxb9y6LRmCQSJfxamNoBkn9md8qsNwhR6sp+bf546E07GIVf3RMz03m3bQ9HbWkqH6oayMKludru0stR9Klj4qdRNEa1n4CjgzttfN1Kk=","nonce":"1mK97DrhA5bJROG6/fnyXUZAerT9BPvq"}
keepass.js:120 Got message: {"action":"get-databasehash","message":"G6ayjRiJ+Joz45lmQ5YWZdwAsXKmf8gzgfd7Wo97yz/VQ86ZaxQBQ/C+A+424tgcynQQDwP5+9Ye6s694m//usUgXiYiMyS4G8anMQojWIeE3LLqedOsMYR9BPFYWijUT77a4zNZS5T/g9ATMh6td2bSIcaIbzzT4MEowsRY3i8IDi6qdIPHEAv372QnBrtCvLDqvsDAwJYkfW/6vFCGvu5DTHaATPkZhs/GlyWDigcEVy/C+LYdTlVhGLFPnzYBjPF8v481Oo4G0rkaUHnKpvqEmGJRDc2qTkuK0UdErDLGSqALnNPeKlRpWFeLQw5QlHZM2EeITA8w4aUu0oUrI3dobpzhdOZJCDmbIZHgDHSa+gtY+TPCgU8GwMOPthA=","nonce":"06Jc+gkkDHR7HHMCWb+YkNtWV2E5dtwF"}
keepass.js:120 Got message: {"action":"test-associate","message":"6i4OB+P7Mx3u7khYDWrmsN22lPkv85Xk1q2a352UE4NnYeCVQwB2kHQv3xAMaWjxo0nbyW60sDo9Wrq89fXC+Jlo17VrQMDXr8sSz+VpmXh+0OjzfpoxFswPpFuT7IvY9ovB7SVWJf49qech2teyqeZacVF0mcHQ3m4ZIKNn+tSBSfn2DvWq6JjIP2ClR4oQy4XJTx6NbKg2gL9gDLl0y5QqI0pGqWEBNWmzcMC20GCftDYU+7cV3fFnLHPOOwARdHUvzcOAoV8/+zA8BKDPJNr698ILGzxDPHl2sXZt","nonce":"GUm30cCMDNNCBOCvX0NjSGBit3VRqnbA"}
keepass.js:1308 Error: No content script available for this tab.
keepass.js:120 Got message: {"action":"get-databasehash","message":"HOQfedctrnXTuBBnljZaaOuhsSJs2EH347K7wl49vSPcmaOC20pO8nVQaMNSZCFhrqy+v0p0oYHGaFkK5x1QWPyX9CH9eSIe/Ra3+wg4AbjewsWwta6n+3eVjt6Cy67Y/UY+h/CxqxQRUJmKCm5XoG0NIOoE+oFabZVQhvzvYfpNN0kz3XBLF2zCkyiRpCZjFuIcRSNQAduqsusiXku9MXiymBCUSc7akLtPDRy/rbUX/9CiuwS07e/xzGX9tO6vGDZbpTOnejuC+HUh8ldJqunGwbr4lxriasVqLGDLvpOWGtUyEiBNZTOIOdOMubEYaC4op8XzPOXTWmamBZQJpvygohkUs0yZWCSnlEOvkquXl0lFmJTyrqjm4zdl8kg=","nonce":"ctEahXyBBVkDChmfnLWcg/O8xioskO3i"}
keepass.js:120 Got message: {"action":"test-associate","message":"NJeqhqb92KPxRvR34ss1QYwvAC4AS3h/QWGu+nzpFixZQgo1w5wEckok+I64WA3sbEw5ldjPmLQqkLrb067bdPeLB6Lq3GPsI9C7AyV5E0+44Uw05eqJze1tcDGmOL2fZ/x8vKjEMu6bNZIsmH4XMLGwZQ6sS/uwOHVrmLBFGqERh531bvAujoK6vEfVAeu83w0t/PvopHx4URGkoAFwfpP6Lu8oXmsoEzuhaCKHB6R4qWbR8iC0Iv70vBxHAvDYekh5kjcLbXNCaR0FmnCkULkvkM/drRjj6xhacQO/","nonce":"hA8rCscSEaywHPwhHnURJrq8RQc+IlR5"}
keepass.js:1308 Error: No content script available for this tab.
keepass.js:120 Got message: {"action":"get-databasehash","message":"JQ1jR+0KP6cIhZ+eb2rNCxsmEqoZmRSVjHM2Fty3qmGvrJwyLR4bwGlYFbbqssCrcAR0QzcVPqHEXJqv9ReD0rIhrI7mncrinRf2Wmx7oN1+8KIV+moahaV5KmQxsLKGhKxLg2gSxFWS5DfrkPiS3ybJykGi9cTpjTAZpdgMTaLv2KfMqtz0llc+vvzFHv1jaoG1XkebvVtvyjcRr+q8bBf99V48iBd0RGLANKcm0WCEz4MgMj0CTbe55YCMWDEjP+/1H8k/OhtopJjecBTGKPmM2b2rmbvbMHnVb7g65k3jVtDSrJDPwy1JGQ1TMFXIgE670IlYHIJFiihrwxrr2IQ0IS6yZeMncSEJzEtNkOX7CVbijIyyRhGKuL9PYlo=","nonce":"0faB/XvoUYljwMYDtCjL1VA4+qA7apfT"}
keepass.js:120 Got message: {"action":"get-logins","error":"No logins found","errorCode":"15"}
keepass.js:1188 Error 15: No logins found
keepass.js:120 Got message: {"action":"get-databasehash","message":"2Fl7oaCew4nGi5q3ErLpYh7wRlLEOQhO10crdZ52HfYPyta9TbpzgJORFMCbYtNmmtTRtLL24w+pANrCxORZNzCUcsbMkVbIpEFt6T+U1itMZHi27MFaRORpPWOb0d26410FCqSApgznHZPV0YoH14bSTsjPGe2P3G+XQrJaLrRYDJCpcsscjqrUErdYtapeRRsbkZ5UJkbbJiRaMKMSavDpuahii5p8OVwSAKwzaekVZhHm61bBBZusZIOHAUptjgMHJJ3FVNWfJkKS1S2/Em9Lig8N8KEkuCdf5KKd2w2HU3Idw/59g4EI0h/fsNNtnZPz8MAppgfWKiGyXmkQ0sY/mLcFDgz8s4g4y7bZDWechoGDx3XsB/yEU0GJWW8=","nonce":"eDmWuEiClDnkRaFwM4NSTyJny4yPmKF5"}
keepass.js:120 Got message: {"action":"get-databasehash","message":"V9rWikzklAZl1OquBtjLhxoXCjiWqVsdRM9LSUfdwfb+66H8TyTsHijhisef50GjCR86fp0K7H//vYQlf2ufElMseU94jZbSCzVbdqFjAzknYOOrPvC4f+VjOcU7yCM8ZvkZboJ0TNpQCwJZ1LE+RVzWCBlsxFUTNgqOdyPE9uGEV4sqLchYiQgXn/QalxUhwMyuWTFJmPgYrsFLkYfKENMVkJy54nNey8dFZctC8IsNcNPPuG0+cLrJVZ2CuzBpJVLxYcwuhYg6nHbVW36ooWwlU4kgBRjk46dBJZh3KaMWTTa6Y7R7W2NT3mxcsIgRdK5/cYrBPf6lplwnBA8TdAvIETdWr8f0nrRx+xChe1yb2iS1zrtt1cJhSKMis2s=","nonce":"mz9kz+5Ne7zPguhYbBCncAUlfULe7dat"}
3keepass.js:120 Got message: {}
3keepass.js:120 Got message: {"action":"generate-password","message":"m7Z2u1gVNXjL6VTjwoKnARtqTXh27jxLa8PcehlnRTu1H0DSBcWECi7uJQsFE+Xy26fUZoUnIa/eZKxP0Xzb8XZjMzNWAzibkypBogT72iYyvMDx8u15mcO8V608FODaNl51sqNmw7ubJGTT8AGkMYUjUZhuAu9eAtfKF22z1lwKTCoPB97gnCzhGQzmM7yLJyS4QsE63ShVlJM8eg1bahRXslry","nonce":"op7s2ZBHbqReo3e920tC67JdRRfP6xFU"}
keepass.js:362 Retrieved password:  zi\*E/]}(B7]aD~{=_jV
keepass.js:1188 Error 5: Die Verbindung zu KeePassXC ist nicht möglich. Überprüfen Sie, ob die Browser-Integration in den KeePassXC-Einstellungen aktiviert ist.

@purejava
Copy link
Author

purejava commented Feb 8, 2022

A second non-working setting is as follows: run the first test as described above. After that, keep KeePassXC running, close Chrome, delete the association in KeePassXC, start Chrome again, do an association and trigger generate-password.

Issue: this time we get two generate-password responses, none of them can be decrypted.

keepass.js:1105 Connecting to native messaging host org.keepassxc.keepassxc_browser
keepass.js:120 Got message: {"action":"change-public-keys","nonce":"WmwUPVVRZZf1FUC75MFDL3zae4hU0Zth","publicKey":"TqR1LGqBEvaUzlw0fsQJTuxXBWI6aKqEJbY2KZ38knE=","success":"true","version":"2.7.0-snapshot"}
keepass.js:640 Server public key: TqR1LGqBEvaUzlw0fsQJTuxXBWI6aKqEJbY2KZ38knE=
keepass.js:120 Got message: {"action":"get-databasehash","message":"GeQSk6eYEftjegFi9ePym/jEOBQwSWuSQ6aqT7XdJ2wC+VNYTQNNCL/hJ7gzM9+U2KROrMUTgXEITcQe2pNNwggWKt58Tot0ur4YLxVXg02thGCrUA4HWzSMKtaz1+X2cgGfcNoBS9V9VyEQkDj9sQoR4gyHoafRXmO8QNSvyzFQrSMkKFUq0KDdgox8tjaxwq0wfzjbLsK5kFwZN2uKrccbsLG+tG/DToE1ab4hqeOhdrZPW1g0cRRWtYB1TeGQt78/RI83lJDRr1gianUYSQXd5GiRw2eO9bh/p1riQBz+d7V7zJdRdfcoxr1EeajhFSvhvnT7H1JR4Cwwd16yumTvtRn3pJHMyK/ETuy3nEhjJ+kpEx5jtWh24TFuVCk=","nonce":"e7XmD9CQ40bJVqczfKpnE1ukiWDhrrVb"}
keepass.js:120 Got message: {"action":"get-databasehash","message":"ddaFW6/mL58JF3NuYpVOHHMZGQAusssaXfJAhVihMky7eyqY+g1VyzjITBx7jqcrfj6wklgKNkcrh+0xxde4pPC5/WgBKQO7K0QAJSsdGtbETk3qZIZVsuoW48zEqH5Zn7wB+8qLEKg9hQBfPt9rvLNGrUBl8mnVY4ynOvmn7DTG4bXVv/YiCzq/reKnRTDwRRgji1Qdsb9Bd6xeGSaCG4Na1Nevmz3P/4s/OWzPui8dzoerxRHcJUeJ+V9EIYH4pzMgbvcVaFDt3imro1sYEiycKg4xnhvlAa8W125YYj8qbYqWmsvFUt3enr+Wjsoe8dgOK6QdcSnBIB7csa+Oa25orwUfpbNfB7xDQRiNVOORqFykRanLIXLh2S58sC0=","nonce":"opXHd6KJw1KQ20af1vHYMsPDmDUCpoVe"}
keepass.js:120 Got message: {"action":"test-associate","error":"KeePassXC association failed, try again","errorCode":"8"}
keepass.js:1188 Error 8: KeePassXC association failed, try again
keepass.js:1308 Error: No content script available for this tab.
keepass.js:120 Got message: {"action":"get-databasehash","message":"S3lE1NYjPkpde5wzVhJQxkyiJ+dnU3CCH4VsQlGvZqXK/h1ITerJ5ZljvgVGVj+MXn6mMe1B9gQ8fZ3g/P7Cq7Z3n2MhJLcdvTwhJ4kgy+jMMq72gqJpaeLsZukInxjuzQERcQK6Pt8//rvW9wo2HNCH70ThpclNxHZEa2jXDYDPIRuFb7zyf3ChVJNHz62Vh092qdSrTwReDd8zgGFoU6ao++3L6Oj9fQ5NZimr6GSVX+PFmSGxe0v7NNgVt4beTNeNYDVEkuNw7Bwzks4QhB0KoietLvNYZEV5XoAAmLoEALYK0MHWsPX8o2jWRVEZXNoZYPLLOzncCpCNVHSSrjoCLQbbnssYKcvJL58RFFjlJWGf4UV8Wr0/P00FO5g=","nonce":"cgVsa/wcod7Zig+9tlkhrWcLJVRLvorU"}
keepass.js:120 Got message: {"action":"test-associate","error":"KeePassXC association failed, try again","errorCode":"8"}
keepass.js:1188 Error 8: KeePassXC association failed, try again
keepass.js:1308 Error: No content script available for this tab.
keepass.js:120 Got message: {"action":"get-databasehash","message":"mfu10uTRciAwT8T77mHw39SAQ1uAFUp67U2iECFKFOiKbDEqAoJys9/mpGi+dGqbJVAlGWxt9yPDMmO3lANiVwCH4F29HUNkK8GCxXx+7aFqOLj8zn5r34uoOkrUGkAFt2egO90Rzyij8FUiNXkZcg1N4Fr5hEs99wxqHp8BCa9PL7mmVXWSUVTh+QG+5wZpna7NQrCBNJSakDJINmvprLIu2QiLUh8Up+D6EKtwzpI93Yn6IBEfJ9sKMeKy6sXgFScLgCLDX1UbTTVconuhnoMFJd4EPrY+B/gFWen9VKz6ZzKCUzHktqDZECdKdz3SziPoR/MuWFKTU1AyK8Zm7SiYVjM0yIifhRZHyWaH7HMr4owPzdm6PEJkydRbovQ=","nonce":"Kxw9xVV432RW3Az8MzugKhRMp0nYpCtr"}
keepass.js:120 Got message: {"action":"test-associate","error":"KeePassXC association failed, try again","errorCode":"8"}
keepass.js:1188 Error 8: KeePassXC association failed, try again
keepass.js:120 Got message: {"action":"get-databasehash","message":"AAEa1tC+eJVKeVUfC3McX+5FNXMw3bD7YkJCIBgrcletnHpR8sRZXRQ7VFSD3IvuQ5R8uE21k81y28l893eiOYQ5CO+9KscKpBD6bk9KmqTxc3ng6DOBKiC/gTXnq1PRWtfWez5cKGSWbh4X0SqElzfNrwKNhND4EZ6tlFEMSePHhqbhbRSV4eIxQWzUrVGQVpULaic1YZFmcmoYd2+/u55ljGbTZnbwYi3sScaprQIzSnK/NDTCiAdjbMoElDdraTZhcCNG1/m0Efins2tWwLnlxtBjWVc3p6MSxRumB3U+tRsEuDr38Mu39tEzoV9yz6sKiwxIsbXSfivFPpp9LneSndXOX9R9X7DmWI+csm+Vw/k0f4ujv8H0us9yzOI=","nonce":"R1iQlcUPGDh9OK+IPybw2Xb/M4eJervQ"}
keepass.js:120 Got message: {"action":"associate","message":"dtTu6PZpvIaH4E2csfo9QE2CfpsmvEmDTPKByOo8gKTL6Ni2xCp4M0Z8yiMc60TxnoDM5eIhboFlGSI7sux0xAtxXjNxkz4AUUYxB+YiI4vsteEKcGyrvYqb5gXLIa2aWMLzXUeScDo5sF/vI3fZ+CYN0WRD7uVONsnBd7gqG4sym8Fz0AuLpn+GxWHWQAvSCtGlC6Hiu0k1DD0hvGQp0zPmViwk/f6N6v9nirsR4IGaRcgZg2UPOOnQ5RhHz9vZSKxQks4tHcMyAOlBSc6zT6vdkBgjFZyxtL/z+ZRpaA==","nonce":"L6IV8Z0WQB7iOtfG5BfgTxRAjZjRtYrA"}
keepass.js:120 Got message: {"action":"get-databasehash","message":"knGwWVGRJvUyK0rxNVz1jz7s06Km1ZF5vZ2wim8aV67lNkhLr4DdPAmy7QGO9OtOGd+YExQzktspars0ksXeqE50u8qCiu2RcLWECpPM3AtLMUvsJ2iwd/Ii0yqRLmHb4eHQqRydnsj9Ghu7fFjlpt2P+9X6u2WrTbldSD4SGo16K/EDY4CBnt6TVhqu/9UlGdtuqZngca5J57BWrr/FtInk2OIC1fff9RFxAl1Ps9enRmM0VUy9dC1xGjtyi2KuecNPE2VESb9JUWcF+WQxKpVhZ4U+Fp9Jl5euqrrX7JXXURoc5mm+RmqvSB0vUbOZ4luFuKeMHuhsqSA1oPGds23AbcsDG82xwuvaJHIkuuwJLLTitNGo05bHJd823p0=","nonce":"1AkjLdFrV222I/l3SwFfT5CEW7BiNC3K"}
keepass.js:120 Got message: {"action":"get-logins","error":"No logins found","errorCode":"15"}
keepass.js:1188 Error 15: No logins found
3keepass.js:120 Got message: {"action":"get-databasehash","message":"1i0CUUepnI4BkC3pYTugMJObpgTD3n9x8/qUsdE+LkD0ifGK+vTHE3eZj70PTx0jPAjhslUXR1YBSzbabEyJjovMo9VZEBe0xgPu8niDgMuxcQrNp1LodRVYV2TdOjDGaFaN3sqBRHM3gNGKve1lr+KOxoRuJ8IcVgq5MAT+EhB9EiWtiquz9ZV8S0HWWmvOEL3dQ/N1ou4Rua1fCJT75DqbjF3BWDUpz7sox3lrrmuvM6e/T76kRSW61ZOFgezrFwwB4wnCs/swPtp+G3GPIQa9Hh2EULQN1kJqKs2YjTqNbvwpEzbq6jvv1zpmBVXGlRT7eOwcqKqF6HzPSOobWT3zOeD2n1qIG8cwza3VR7NjUUJUJv/OI21J28L6kLc=","nonce":"hMHffprEkPGi7Mh9P+WvlnoJYFHXBQKH"}
3keepass.js:120 Got message: {"action":"get-databasehash","message":"8vkItACOPQ4+ofTOSoEnvIC0eBgi+Hiq/Xstl8sZfbvi/teZve07DZvcNnZJ3J5mCnUnWiXUgy4xCRErrftz0/XO3QNrU2hHOGeYrrnawqM2vcqna3vov3HMcyECVYkPL06dA2lQdqoH2Tt9AShg2d9thk64Q5JKSAIU84yZ7s8rps8pEDkQc4pLd5cv1FCbwccbiku5QPct6tBOdFtgDTpZ5betWbpC6AtpI8U0g3FbybSbyjcWlD5694haFA9mizh686OSOueK+LlPRtej2BzODHCKZ9bF42JbG2iWoss4LPzM8OeXeCH4h8A1NA3EfIP0SQJHRiMu93KLW5p5zYzFiZhoPb2A8X0MbwnR9pw9obQtROdpLlWKMkRQADM=","nonce":"jg/lycYY5To+/pZgRtyw7S5CkkZPEzhH"}
3keepass.js:120 Got message: {"action":"get-databasehash","message":"pTMMXpVm5hL09yqbyjNC5M3WfyNezU/lMewXCD1Vd+qVcHONarCzbsLWD9n9PT83XjpEDnPAFIK8eSnGASoDhlVqPUTE504ZArqm5u9w9urmJgDI2dDA1hRnvLK/AAZ52xZm5y60aAiLh7AkU9y/14O+QRNpSF0z5ZIeRTRI7wDyuyYHQKYTlBKW8cNEEJHWns0thbdh6X/08XTaAAMau3hKitkfjvnB7l8XY15U3Q4pGLBsLE2TmYGj3Xpu0wbQfGrqWHsTxITAthnYwq9iCY2nGyZJ+7vmcgrCiJRgLu9IkH/Rhtx/aEuEuhpQx2BH4KohpLwdmrjYU9JSooDfaEjpl61IFJxwcPqIWPJvYOe9ZNVOja1rCEu6Vdl1TCc=","nonce":"iAyTQMo0bF6FXvWvODkf50VjgZveTVlB"}
3keepass.js:120 Got message: {}
3keepass.js:120 Got message: {"action":"generate-password","message":"oNyjnsPKvxofAk0PO77rasB1I5aRuPBP6AR+OT1/UQX5YkoPIgpEcE99FiXi+Is67JzA6sfsbDPZP1vB+c1j7Qa9C3g56fTepjNFGWtRbfPORaYoAi4/1o2p1k90nvSjDg10Dl9ivPF+rrj18bC0JJaPY9IaKw/geo1DDFygn0ivfgGhdyj88HQem5VgNfNEfTdf4nNGWfMrDQt628PwCpZHkRbe","nonce":"eYDw/1syTigXGVuNpJNHygqpMI/q1mRE"}
keepass.js:1188 Error 4: Nachricht kann nicht entschlüsselt werden.
2keepass.js:120 Got message: {"action":"generate-password","message":"HUip2naXn0iarc5/oOTHPtdBUhxwUinA8dLtUsY/jSHAvPvblMilW3/yjGMWaqrFfTCtk1kj4afPSKqYTnvSbmOdcW6NDJtXxPlAoadk3kT4VqV2jfeyyT064LJf1rEadG2AuMHDzAP4oaNB7FO0c3lGiTewLKHJt2Oicmp9ofCdQDGHdsA2Q5sT3VkfPaCIOa8QEZGWYq8SP7rnJXEvAajwZSJV","nonce":"eYDw/1syTigXGVuNpJNHygqpMI/q1mRE"}

@purejava
Copy link
Author

purejava commented Feb 8, 2022

During another test I got more than two generate-password replies, but I cannot find a repro for this one.

@varjolintu
Copy link
Member

@purejava Thanks. I'll try to clean this up if I can reproduce the same errors.

@varjolintu
Copy link
Member

I found the reason for multiple responses. I also tried to set the response to synchronous but it actually caused more problems in the browser extension. I'm trying to keep the async methods intact, but modify the request side so that multiple generator requests are not possible.

@purejava
Copy link
Author

purejava commented Feb 9, 2022

That sounds perfect to me. keepassxc-cryptomator works asynchronously too and hence can handle asynchronous replies.

@purejava
Copy link
Author

purejava commented Feb 9, 2022

First, I discovered a problem on my side, that reading messages does not stop at the end of each message, but it's reading all that was sent. I'll fix that.

I dug into the transferred bytes. KeePassXC sends messages one by one, but my side of the socket has no info about the length of a message transferred and so depends on reading what is transferred over the socket.

Reading is done with a ByteBuffer, so in case KeePassXC sends a lot of messages at once, this leads to appended messsages for one read operation on the reading side.

Reducing the amount of messages sent would solve the problem on my side.

@varjolintu
Copy link
Member

@purejava I noticed that also. I think the extension also needs to prevent multiple password generator requests if there's already one reply we are waiting for.

@droidmonkey
Copy link
Member

droidmonkey commented Feb 9, 2022

Hmmm I thought the stream sent the message length in bytes first then the message. Maybe I'm thinking of somewhere else in the code.

Edit: nope I was right the length is sent first as a uint https://github.com/keepassxreboot/keepassxc/blob/develop/src/proxy/NativeMessagingProxy.cpp#L64-L66

@varjolintu
Copy link
Member

@purejava Can you try the following branch? https://github.com/varjolintu/keepassxc/tree/fix/browser_password_generator_response

It should fix the multiple responses + icon saying there's no connection (at least I couldn't reproduce it). The message sync can still break if multiple requests are sent when the Password Generator is already open. This probably needs some restrictions also to the browser extension client side. The generator should work again though after it's closed.

@purejava
Copy link
Author

purejava commented Feb 9, 2022

Thanks @varjolintu, I compiled your branch right away and it works awsome!

I experienced zero problems with keepassxc-cryptomator. I tested Close and Apply password, received only one replied message that could be decrypted successfully in either case.

[main] DEBUG org.keepassxc.Connection - MessagePublisher started
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"change-public-keys","publicKey":"xPyy/BSTsZVnKFIunfrVApZU7cqDZDiLSlC+yONB5y4=","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","nonce":"FkfX1EzrpoHQbMbXhBPvv6w+x4fTTK4X"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"change-public-keys","nonce":"F0fX1EzrpoHQbMbXhBPvv6w+x4fTTK4X","publicKey":"6YPoLz6isCiNW/pzsl+BQVKCZbM5OY90mx26QQzWtFg=","success":"true","version":"2.7.0-snapshot"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"success":"true","action":"change-public-keys","publicKey":"6YPoLz6isCiNW/pzsl+BQVKCZbM5OY90mx26QQzWtFg=","nonce":"F0fX1EzrpoHQbMbXhBPvv6w+x4fTTK4X","version":"2.7.0-snapshot"}
[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"associate","key":"xPyy/BSTsZVnKFIunfrVApZU7cqDZDiLSlC+yONB5y4=","idKey":"p/3AJXyHUxVBhYPYgRee4rtImlH+g0kVMAS9dSSX1nM="}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"associate","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"dd5ShiQlKxhVnx7I6/0gdBk8YEtSzZRXOJ7ryA0+E+jvaSoeMDje45FLMUEJ43BHuEq81bFd5efgVa9lJ6EeTib8NW8P/IdflRs1B649UsZTNZikSrFZXG+6KNyzQT3AR+j5/whZNB4tsOe98zE8dg281Taww73IB1tehXMopP4/9WOrqYTSwkhHPJKGdXBJclY=","nonce":"d6gj7ex6E0F8fHN9EkcP8u+u1yrxgzA7"}
[main] INFO org.purejava.KeepassProxyAccess - org.purejava.KeepassProxyAccessException: Delaying association dialog response lookup due to https://github.com/keepassxreboot/keepassxc/issues/7099
[pool-3-thread-1] DEBUG org.purejava.KeepassProxyAccess - Attempting to save credentials
[pool-3-thread-1] DEBUG org.purejava.KeepassProxyAccess - Credentials saved
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"associate","message":"PM9uK4Qc+Tcvzbyd+HKiivT96DZ+HEuXh+OrNR6lwBKMqlilaI3JbYqOhGNfqLYkMp0gqm++GC+XKPzQLlKpkYR93l9yrovH73zjnkyx0EiW9OrrJ53VstKwthQeeymJHTUVpLSUfgVgP00dHkzcR8/lVnra0lBjr8PceXPcV18vMAIKQT8s0WMH8gi/DamliVGLHfIF2D+zXJwN6YxdvByt8cpdLMtSqqi5DfvAbAD+HAQ7sPEqpv2m1+abLFEohWkOJTrD8EInCpfCdbJv6w81mqfJfQZgfSmhWeyt","nonce":"eKgj7ex6E0F8fHN9EkcP8u+u1yrxgzA7"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"associate","message":"PM9uK4Qc+Tcvzbyd+HKiivT96DZ+HEuXh+OrNR6lwBKMqlilaI3JbYqOhGNfqLYkMp0gqm++GC+XKPzQLlKpkYR93l9yrovH73zjnkyx0EiW9OrrJ53VstKwthQeeymJHTUVpLSUfgVgP00dHkzcR8/lVnra0lBjr8PceXPcV18vMAIKQT8s0WMH8gi/DamliVGLHfIF2D+zXJwN6YxdvByt8cpdLMtSqqi5DfvAbAD+HAQ7sPEqpv2m1+abLFEohWkOJTrD8EInCpfCdbJv6w81mqfJfQZgfSmhWeyt","nonce":"eKgj7ex6E0F8fHN9EkcP8u+u1yrxgzA7"}
[pool-2-thread-1] TRACE org.keepassxc.Connection - Decrypted message: {
    "hash": "3eaa108260543ae4d701a378a9f05069bc3076f4da7b8f415ceee23a787c3fa9",
    "id": "Test",
    "nonce": "eKgj7ex6E0F8fHN9EkcP8u+u1yrxgzA7",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[pool-3-thread-1] DEBUG org.purejava.KeepassProxyAccess - Attempting to save credentials
[pool-3-thread-1] DEBUG org.purejava.KeepassProxyAccess - Credentials saved
[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"get-databasehash"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"get-databasehash","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"hvdZYozKOu3yxBdpdejsBwJ3odCLcjYUKAfNSXSMjxjhrx8D+eTA9ahl56fG","nonce":"Mg5o1arSsz5tljjeGAnz1WEVmjzPWFXo"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"get-databasehash","message":"0cUs5opGYroaQ/nv8hJhrlQ50/cjI/u4QNKqKX1xmwxTWatbx7E7dRGZnj+U40qoCJOmD6O/uZGnToA/fmeQdvSKOc0yAxNZpgLyijinxw96ngY214Z/qso0POwaG1zsaxYtWqjx0AK8FtY9XLVokJaXHxgIBLFGvhjQzxRpVPkR7udE2Rr9XvezaES7V9AdEcVLGm4fzASD58airohDZUllUXA2bP0mi4wERSYYwV1dnFugfKpuVzMz+FAGLlIw4fDYOK8TJSZWWkl1","nonce":"Mw5o1arSsz5tljjeGAnz1WEVmjzPWFXo"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"get-databasehash","message":"0cUs5opGYroaQ/nv8hJhrlQ50/cjI/u4QNKqKX1xmwxTWatbx7E7dRGZnj+U40qoCJOmD6O/uZGnToA/fmeQdvSKOc0yAxNZpgLyijinxw96ngY214Z/qso0POwaG1zsaxYtWqjx0AK8FtY9XLVokJaXHxgIBLFGvhjQzxRpVPkR7udE2Rr9XvezaES7V9AdEcVLGm4fzASD58airohDZUllUXA2bP0mi4wERSYYwV1dnFugfKpuVzMz+FAGLlIw4fDYOK8TJSZWWkl1","nonce":"Mw5o1arSsz5tljjeGAnz1WEVmjzPWFXo"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "hash": "3eaa108260543ae4d701a378a9f05069bc3076f4da7b8f415ceee23a787c3fa9",
    "nonce": "Mw5o1arSsz5tljjeGAnz1WEVmjzPWFXo",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"get-databasehash"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"get-databasehash","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"fCO7PdBJZol6/+JRoHPhE7Z9eqK3lsGuIdWWo9DSyzBZhHUeeQIc5xAK58fG","nonce":"J/3fUu36iqU/VJZRmEUl0FJvrqsdz3zB"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"get-databasehash","message":"/n83+VkkmD0MWzTCPD3UKiVENq0lQmmVqEUxZ4spKGkFXYWPSOaLwYG4lcwKjcdSFIxxurd054O7fV3sg1NHvTn5W0XTChJlVU8yo7bOPphU2r15SoJEaGsX4RsWWmquy1BpwE29O0g2MhK/l68w9cbs35SbvQ1SwO3z7Bo9DqxXS/BviEHUgPAVR0pYfJwYxTF7KiRcEnWqoc1QllOtcr8czFx7v4OW9Y23ijhSUgIzq0+V0hmVg89NFaq0p8J2r4eJ7WS5AcZOo/UI","nonce":"KP3fUu36iqU/VJZRmEUl0FJvrqsdz3zB"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"get-databasehash","message":"/n83+VkkmD0MWzTCPD3UKiVENq0lQmmVqEUxZ4spKGkFXYWPSOaLwYG4lcwKjcdSFIxxurd054O7fV3sg1NHvTn5W0XTChJlVU8yo7bOPphU2r15SoJEaGsX4RsWWmquy1BpwE29O0g2MhK/l68w9cbs35SbvQ1SwO3z7Bo9DqxXS/BviEHUgPAVR0pYfJwYxTF7KiRcEnWqoc1QllOtcr8czFx7v4OW9Y23ijhSUgIzq0+V0hmVg89NFaq0p8J2r4eJ7WS5AcZOo/UI","nonce":"KP3fUu36iqU/VJZRmEUl0FJvrqsdz3zB"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "hash": "3eaa108260543ae4d701a378a9f05069bc3076f4da7b8f415ceee23a787c3fa9",
    "nonce": "KP3fUu36iqU/VJZRmEUl0FJvrqsdz3zB",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"test-associate","key":"p/3AJXyHUxVBhYPYgRee4rtImlH+g0kVMAS9dSSX1nM=","id":"Test"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"test-associate","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"RoNfjgeogfKPOAFJkl13k200T7SxgQXH/X9jyFX/4c27vmWpfvxTV7E3uXJ3/7XRq5o1r5KPFuG0JQwDP/aC124x6t98cWxETQZOKrUIAGdR+fAeUplGQzN73GxsAw0ttweV/PZsKId9IYKG","nonce":"KIfyZSTIo/cSwVKBCyS56c3BxkGvbXUB"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"test-associate","message":"w+3mNQ2WYPNr8ZEMbR/Km+YVB1882jmihOXSkYKgqLOjU/rf1vEhmluHHEO7/iHX5xP61mRfoB/ym9gtvGpBVSrCfGBJZxtFx8x2506+UoDdk+Xxe3xfnGjwEm0+/Oacjid0F4gi64bVMI0nEaS1hMEbTIMhkUyGOuBc0NEqok3znU6N9iN3fOdn2KNHCfp/gl7YBaCgiQLBSojLNLGNyqBIW4l3h8XReWrhbQ68Ozr3suRqJgf7fYCCyIBYX/egJ+mUKQogcZJAmANdt3OyAgsSNb7B3a7TLBPTS0+g","nonce":"KYfyZSTIo/cSwVKBCyS56c3BxkGvbXUB"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"test-associate","message":"w+3mNQ2WYPNr8ZEMbR/Km+YVB1882jmihOXSkYKgqLOjU/rf1vEhmluHHEO7/iHX5xP61mRfoB/ym9gtvGpBVSrCfGBJZxtFx8x2506+UoDdk+Xxe3xfnGjwEm0+/Oacjid0F4gi64bVMI0nEaS1hMEbTIMhkUyGOuBc0NEqok3znU6N9iN3fOdn2KNHCfp/gl7YBaCgiQLBSojLNLGNyqBIW4l3h8XReWrhbQ68Ozr3suRqJgf7fYCCyIBYX/egJ+mUKQogcZJAmANdt3OyAgsSNb7B3a7TLBPTS0+g","nonce":"KYfyZSTIo/cSwVKBCyS56c3BxkGvbXUB"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "hash": "3eaa108260543ae4d701a378a9f05069bc3076f4da7b8f415ceee23a787c3fa9",
    "id": "Test",
    "nonce": "KYfyZSTIo/cSwVKBCyS56c3BxkGvbXUB",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[main] INFO org.purejava.UnlockedDatabaseTest - Please allow access to credentials
[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"submitUrl":"","httpAuth":false,"action":"get-logins","keys":[{"key":"p/3AJXyHUxVBhYPYgRee4rtImlH+g0kVMAS9dSSX1nM=","id":"Test"}],"url":"https://github.com"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"get-logins","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"Bddh7HvHoi/3/gv1Wwbd5Ns2GkWRuSKoV9qUNR4SxTeJdSDRuuqGUvx3Desz6p8ySD2hJRO339PLSYr7wtdZD9YPik5NmO+HCFe34griCImbfQiRJYi4ZBeL0E5YCmOjszMAgxrLLALMxpFyiRHgd7itxSKUgVXf0ASwClrDvKMiM4sk1K93qY8ksVE2YHmT3nGGDf6gOfEROjltgper26qAeZJvPpyDbWW8M7nU","nonce":"prxSMnCMtZaVBdEdgwdbUPrTGNN7mFdr"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"get-logins","message":"Lhu4I5K/8sK0lVBFXvR52BYcZZrWBFCt5Hm8AcB5Vha5VEbNJoAq/wGaNTg0scPi1wshrBkK8lX9Fkktc45iQ0biVrR7U9Knrbj8QVPlt31Q4NEFMw53rOwQp+Da+P4CAl4AdN/0vU4IHqsTS8A5cMRapOyK009p9p5jV8NPDcAaHRA97oiLoBg5xx1dRqxQ+ob/aEzD1WWhOYDGtDIgIoqDfmQiecqz1ms8n8j6+NxhfE5JL/IaaLmyLObM7IEFr6PlzlfzdoNYx6YJe+WoG4hzFfRM+G9sryaowxOcyGESAuEI9XF8WChXQxBy/O4WV3WpmFgs6BBGvuzeNLKQwy2srEoh1N53+aHfm7Ps3Ilaub1FgF9ZoVGB2kPblG1Eo5/SuHbzDnrkdOCa4xxW/cPxqdXTcdja/0+NdIoVcrrndIxxheRmA9xnx4ln3CSzjF4W1IlEma1i2HFpVKISR6TJMXYKRa2WiDH4G/Wpi4xsU+5QKWAd9dQcZAAtvnx4jMKeNZXTTRasHyxD0cxYSf1kcjNoyd8KexESnPzVvIngh375OLzNkiKPDDg7lFQxjh8LAwMnJIZOcZUw03L7rD4cYCGUjKMx5Nx/bGr2M274fkVmA1TVN0Y6Yihd528257jChY+BVwnldqtapgAPsoX1+eHD79l8DDMPX6coPGZuW+t2SULilMuowf0a/Awns1c7yw==","nonce":"p7xSMnCMtZaVBdEdgwdbUPrTGNN7mFdr"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"get-logins","message":"Lhu4I5K/8sK0lVBFXvR52BYcZZrWBFCt5Hm8AcB5Vha5VEbNJoAq/wGaNTg0scPi1wshrBkK8lX9Fkktc45iQ0biVrR7U9Knrbj8QVPlt31Q4NEFMw53rOwQp+Da+P4CAl4AdN/0vU4IHqsTS8A5cMRapOyK009p9p5jV8NPDcAaHRA97oiLoBg5xx1dRqxQ+ob/aEzD1WWhOYDGtDIgIoqDfmQiecqz1ms8n8j6+NxhfE5JL/IaaLmyLObM7IEFr6PlzlfzdoNYx6YJe+WoG4hzFfRM+G9sryaowxOcyGESAuEI9XF8WChXQxBy/O4WV3WpmFgs6BBGvuzeNLKQwy2srEoh1N53+aHfm7Ps3Ilaub1FgF9ZoVGB2kPblG1Eo5/SuHbzDnrkdOCa4xxW/cPxqdXTcdja/0+NdIoVcrrndIxxheRmA9xnx4ln3CSzjF4W1IlEma1i2HFpVKISR6TJMXYKRa2WiDH4G/Wpi4xsU+5QKWAd9dQcZAAtvnx4jMKeNZXTTRasHyxD0cxYSf1kcjNoyd8KexESnPzVvIngh375OLzNkiKPDDg7lFQxjh8LAwMnJIZOcZUw03L7rD4cYCGUjKMx5Nx/bGr2M274fkVmA1TVN0Y6Yihd528257jChY+BVwnldqtapgAPsoX1+eHD79l8DDMPX6coPGZuW+t2SULilMuowf0a/Awns1c7yw==","nonce":"p7xSMnCMtZaVBdEdgwdbUPrTGNN7mFdr"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "count": 1,
    "entries": [
        {
            "group": "Root",
            "login": "Tester",
            "name": "GitHub",
            "password": "Geheim",
            "stringFields": [
            ],
            "totp": "380072",
            "uuid": "2aafee1a89fd435c8bad7df12bbaaa3e"
        }
    ],
    "hash": "3eaa108260543ae4d701a378a9f05069bc3076f4da7b8f415ceee23a787c3fa9",
    "id": "",
    "nonce": "p7xSMnCMtZaVBdEdgwdbUPrTGNN7mFdr",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"submitUrl":"https://github.com","password":"Passsword","groupUuid":"","action":"set-login","id":"","login":"User","uuid":"","url":"https://github.com","group":"Group"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"set-login","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"DIY+F35sbXv+pVw3stAB2C0ZKQiJlKXQWcv35N7JzOUXACLbqzxXHDkhmcIVFeFgGW9TGRYiZb1eenUS5NvyMCo99o5WLCspvMbEV58qG5j3cNe9pve+kDsEgG35EO/dat01WLBw7iB9aJTPrasf1r5CeXeVTFgYQtvZ8wNJbRp6vPeLcp6/JhhMESmizMZKkTA0/HZ59CbFjdUh4atCPWEJO1Szuxm9JC+f087KSBCEpeOQXIo8it8=","nonce":"E362fS1Wl5DVbmq6Wt92eFClUfDyh9L0"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"set-login","message":"3CEW8WTbF6MA6vUlzIBIOgkjnz14+VRXWxfusXEsivRuNXVRh+s8judF9co6atRoEnSF8mBBZHnHqD++87p9mpgKadOigdvaJC/CCv0oHgxlZ0UDH89e5DarzcUCWsyiqesBC3pLFqZXZ04XwRxakY9gHjYoAPYMCPBKZEYSZxgURQUSBSuExrfTVdLaDwn3s5Xs/MjE15WmclWrLKdU05H+35fXmkn+XMdZDJTKRYjPcDFzN7XbRfaknfk0uXoo1u4AK10eNSZxouSmSWeVVxcg8GPn+rti0mw6o7c3aFRmENoQTYLISFAEZZsJNsoFpalvggQ61QRlV7MIRaDp5XetByOMwj3YTM/HTw==","nonce":"FH62fS1Wl5DVbmq6Wt92eFClUfDyh9L0"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"set-login","message":"3CEW8WTbF6MA6vUlzIBIOgkjnz14+VRXWxfusXEsivRuNXVRh+s8judF9co6atRoEnSF8mBBZHnHqD++87p9mpgKadOigdvaJC/CCv0oHgxlZ0UDH89e5DarzcUCWsyiqesBC3pLFqZXZ04XwRxakY9gHjYoAPYMCPBKZEYSZxgURQUSBSuExrfTVdLaDwn3s5Xs/MjE15WmclWrLKdU05H+35fXmkn+XMdZDJTKRYjPcDFzN7XbRfaknfk0uXoo1u4AK10eNSZxouSmSWeVVxcg8GPn+rti0mw6o7c3aFRmENoQTYLISFAEZZsJNsoFpalvggQ61QRlV7MIRaDp5XetByOMwj3YTM/HTw==","nonce":"FH62fS1Wl5DVbmq6Wt92eFClUfDyh9L0"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "count": null,
    "entries": null,
    "error": "success",
    "hash": "3eaa108260543ae4d701a378a9f05069bc3076f4da7b8f415ceee23a787c3fa9",
    "nonce": "FH62fS1Wl5DVbmq6Wt92eFClUfDyh9L0",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"get-database-groups"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"get-database-groups","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"0a49ySljPO2KxPgUL4zjLkzOvHUUAfLrOG0XoeK+XlIQQIRDKvXOXJN2VSHNeNkN","nonce":"QQcmqqUEtO2P5ZNug/Hp/I1KxIN/xYeI"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"get-database-groups","message":"L+MAE058h4RIYW0eYXbqPeoN9Mxl/yoJaspSkMa1iW+ykHeReCaFin+ohLKL4eTfPMzh9PGKetJydN5ggdkHCPfXHd8BB59bofm6FiS5cpnNAu1l67tEr719GgfSsT8WnZ6OFBvb24nKOAunAkkf0pWEaWCXq3CoTESunLV5mv0CIQFi+oiSaaTVM6l+8T5W1lCl0O/WkkigZyrO1YnEa4IsezSgP23mQC2OBcBVZuaDrsLr5aYWC3cVgri6VhOo1c5TymNhPoZfpk01SszTKrxw0YsxGwVE4PAnEh6zi38BI3uSHSonXAxQ3csSenG3IAxE3/iBzqbTcu2K0Z2Nm+JWNQNYlHndsfUguB499iTdonYaijl7A6ndhUiZCxyTplELIYpBgpCdlawoBjt/QTkN6eiidQnZLbOomXKHpDAY2Wl6/DL2KYhJrOUCQQtkdSkmCVNYLcDth/pDw4P2l54uIVfLvoc8qHYd55b4jqpbhpSZbCh6hGpLHc1f5X1IpVQsIQ5ne2K4hp6lGCcoCWWaz7QiwYcCf9DSz360GW/Ld7YP+G7ekKLPGEQqLMcYdsTleUndQYSVM6BZlG93XSuPRNkLUyLAkZQXitjwpM4WuJCrSz+Df+f3p+NS3f913MWND/GBD+Ix1GURITZSoMrSWDqFYNv61mTpNRLKHLfeJHT4pjHSoDmiE/TMhSYeyQLn2szVrMYLNA/1/QKlFAySEymHZAtCd5nDjjSocpHqkgikzunxDxmTsDfD+80vlVctwAjMy+E=","nonce":"QgcmqqUEtO2P5ZNug/Hp/I1KxIN/xYeI"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"get-database-groups","message":"L+MAE058h4RIYW0eYXbqPeoN9Mxl/yoJaspSkMa1iW+ykHeReCaFin+ohLKL4eTfPMzh9PGKetJydN5ggdkHCPfXHd8BB59bofm6FiS5cpnNAu1l67tEr719GgfSsT8WnZ6OFBvb24nKOAunAkkf0pWEaWCXq3CoTESunLV5mv0CIQFi+oiSaaTVM6l+8T5W1lCl0O/WkkigZyrO1YnEa4IsezSgP23mQC2OBcBVZuaDrsLr5aYWC3cVgri6VhOo1c5TymNhPoZfpk01SszTKrxw0YsxGwVE4PAnEh6zi38BI3uSHSonXAxQ3csSenG3IAxE3/iBzqbTcu2K0Z2Nm+JWNQNYlHndsfUguB499iTdonYaijl7A6ndhUiZCxyTplELIYpBgpCdlawoBjt/QTkN6eiidQnZLbOomXKHpDAY2Wl6/DL2KYhJrOUCQQtkdSkmCVNYLcDth/pDw4P2l54uIVfLvoc8qHYd55b4jqpbhpSZbCh6hGpLHc1f5X1IpVQsIQ5ne2K4hp6lGCcoCWWaz7QiwYcCf9DSz360GW/Ld7YP+G7ekKLPGEQqLMcYdsTleUndQYSVM6BZlG93XSuPRNkLUyLAkZQXitjwpM4WuJCrSz+Df+f3p+NS3f913MWND/GBD+Ix1GURITZSoMrSWDqFYNv61mTpNRLKHLfeJHT4pjHSoDmiE/TMhSYeyQLn2szVrMYLNA/1/QKlFAySEymHZAtCd5nDjjSocpHqkgikzunxDxmTsDfD+80vlVctwAjMy+E=","nonce":"QgcmqqUEtO2P5ZNug/Hp/I1KxIN/xYeI"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "groups": {
        "groups": [
            {
                "children": [
                    {
                        "children": [
                        ],
                        "name": "KeePassXC-Browser Passwords",
                        "uuid": "96b4d76bd7174bd0853d06cf3109c9f6"
                    }
                ],
                "name": "Root",
                "uuid": "7b89b81fed704c05b2e48688fb3cd3a1"
            }
        ]
    },
    "nonce": "QgcmqqUEtO2P5ZNug/Hp/I1KxIN/xYeI",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"generate-password","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"generate-password","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"vEWU1mNj5pnHjDE6zA5CqxZClM3XpZ4IlNq0vZ9Kaal2fRib/BDgMhE9HEHkeBO0fZoHYeH9aasH9z2+xBB7GpSWH15UvdjzGPPad02OY09Kipb5N84toAcow4Q=","nonce":"QSPuCGeDsQjEOGT8077ZHvjH9R5Lvvvi"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {}
[pool-1-thread-2] TRACE org.keepassxc.Connection - KeePassXC send an empty response: {}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"generate-password","message":"w+FAj+5dgLMyOs+k2EUp/9IMUqa9N6WjoAcmQMvfBH10GviQ87ekBe538nyIm5+bkM1wR2R6Q5khA+Cq8hWNSr0Ovh+kZzOJPL3dMGRhxsFpUCFNs/Iq2mom/7iWaFuQw4STHadexrmL4M13LrNjhdV1uLHABoC9wk+jxuGuPTaYwf0L4qWC9C8nlOnRD8qrHQ/ImbIzEUp9vzK9Yy6ErY0XQLU=","nonce":"QiPuCGeDsQjEOGT8077ZHvjH9R5Lvvvi"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"generate-password","message":"w+FAj+5dgLMyOs+k2EUp/9IMUqa9N6WjoAcmQMvfBH10GviQ87ekBe538nyIm5+bkM1wR2R6Q5khA+Cq8hWNSr0Ovh+kZzOJPL3dMGRhxsFpUCFNs/Iq2mom/7iWaFuQw4STHadexrmL4M13LrNjhdV1uLHABoC9wk+jxuGuPTaYwf0L4qWC9C8nlOnRD8qrHQ/ImbIzEUp9vzK9Yy6ErY0XQLU=","nonce":"QiPuCGeDsQjEOGT8077ZHvjH9R5Lvvvi"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "nonce": "QiPuCGeDsQjEOGT8077ZHvjH9R5Lvvvi",
    "password": "HA27lqgFoMJ.~mO)>mU4",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[main] INFO org.purejava.UnlockedDatabaseTest - Please allow to create new group
[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"create-new-group","groupName":"Testgroup"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"create-new-group","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"6BKrKeXhJlc6XINCiYjxIV3OBDwKly8Kt/9mVq9T1qNVHs5O5RSRVoL3GiW4idFZiZJKKxT4dXWNz9XydVp4vRuUhPRd","nonce":"ixiiDwwXfJ90aN1nNZbqLRlVien4and+"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"create-new-group","message":"N7b8Tsniq5dMw78dXQS/SM5diBFhp5k43SNbdj8wUIU6CmhdR7Qb60W0RnJq6fBcchRzU94ckm1noz0LpeDMbmAFw5sqWl3y5+Cepc7UUlukHOFzJEFAO7WanQqr/gWbOIhN6hdX9nnP5mLBlP+xbbHwxbBho5ZgqwOvNppONoLzRYmOg4kczCaRUKT8g/O/N7+cHSAYkwF9NNfv8jZHwyqSa0DZAQepS3vvF+4kRCr8EKhhTktFsHW/+ovM8VyBEchd6ps=","nonce":"jBiiDwwXfJ90aN1nNZbqLRlVien4and+"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"create-new-group","message":"N7b8Tsniq5dMw78dXQS/SM5diBFhp5k43SNbdj8wUIU6CmhdR7Qb60W0RnJq6fBcchRzU94ckm1noz0LpeDMbmAFw5sqWl3y5+Cepc7UUlukHOFzJEFAO7WanQqr/gWbOIhN6hdX9nnP5mLBlP+xbbHwxbBho5ZgqwOvNppONoLzRYmOg4kczCaRUKT8g/O/N7+cHSAYkwF9NNfv8jZHwyqSa0DZAQepS3vvF+4kRCr8EKhhTktFsHW/+ovM8VyBEchd6ps=","nonce":"jBiiDwwXfJ90aN1nNZbqLRlVien4and+"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "name": "Testgroup",
    "nonce": "jBiiDwwXfJ90aN1nNZbqLRlVien4and+",
    "success": "true",
    "uuid": "3f85dc54ba5c4ea69213fbe14ec93835",
    "version": "2.7.0-snapshot"
}

[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"get-totp","uuid":"2aafee1a89fd435c8bad7df12bbaaa3e"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"get-totp","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"XBU+l2zo98MhlyZMG6VI+0DYcWBOhyR5G7tVBo9EyTxwNncsn/c500XFv/PP1qW7eHZxu1uzd+c7wwwezaDApFyChtdMAFUejm1njB9o6Q==","nonce":"SVNI/c77Bd64ayvyCDMt3K2f88HDXTlC"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"get-totp","message":"RSl2A8ymZQU1k4R7xVlvkWmPmLBZBgvaM+Bm7FzPdZjrbxn5xDXDsHLX4Ojiz+f8zbngdd3imSoiGL+CF4d4eMeQn8huwTx9OXUY5kl/GLRtR9Cs1kmEGyc9CJC0juVvTnlNqm2701zz4wslIjcFZ7vKcsdFAciHQA2+AESvUCNvjDDH2eJBzcHm4qTK8yfT4s8=","nonce":"SlNI/c77Bd64ayvyCDMt3K2f88HDXTlC"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"get-totp","message":"RSl2A8ymZQU1k4R7xVlvkWmPmLBZBgvaM+Bm7FzPdZjrbxn5xDXDsHLX4Ojiz+f8zbngdd3imSoiGL+CF4d4eMeQn8huwTx9OXUY5kl/GLRtR9Cs1kmEGyc9CJC0juVvTnlNqm2701zz4wslIjcFZ7vKcsdFAciHQA2+AESvUCNvjDDH2eJBzcHm4qTK8yfT4s8=","nonce":"SlNI/c77Bd64ayvyCDMt3K2f88HDXTlC"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "nonce": "SlNI/c77Bd64ayvyCDMt3K2f88HDXTlC",
    "success": "true",
    "totp": "380072",
    "version": "2.7.0-snapshot"
}

[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"get-totp","uuid":"2aafee1a89fd435c8bad7df12bbaaa3e"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"get-totp","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"MrjfFemLQWvTfYVzYmHNfvz5bw3BMog0x3WHLSBBy2ukMWClxWOD0Fm3pKtFQPy9hokQH+ezmcC63tiTSVg06fmKolt1JL3xWXbZVvMVkQ==","nonce":"3Al2EoqWtYwNEQ8cVN60T8EQ2zkIRewY"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"get-totp","message":"8tNiY1oBeBna8WX297Alt8q5zSz7a7f2U4C7xSllcXkcGbxoDXkziOu3HP2wBwYyC/6Y09SnEDPjfavbvh3yBNUAiHLI2INGSapzuodI1SE6Xvim+/UrJTKvg/N/hixP6hYpfNF+DaJy7l8J4eLsJK0uysl9oitDPSREY/n47afn5v6T99OsnPaozkfNn/lwbd4=","nonce":"3Ql2EoqWtYwNEQ8cVN60T8EQ2zkIRewY"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"get-totp","message":"8tNiY1oBeBna8WX297Alt8q5zSz7a7f2U4C7xSllcXkcGbxoDXkziOu3HP2wBwYyC/6Y09SnEDPjfavbvh3yBNUAiHLI2INGSapzuodI1SE6Xvim+/UrJTKvg/N/hixP6hYpfNF+DaJy7l8J4eLsJK0uysl9oitDPSREY/n47afn5v6T99OsnPaozkfNn/lwbd4=","nonce":"3Ql2EoqWtYwNEQ8cVN60T8EQ2zkIRewY"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "nonce": "3Ql2EoqWtYwNEQ8cVN60T8EQ2zkIRewY",
    "success": "true",
    "totp": "380072",
    "version": "2.7.0-snapshot"
}

[main] INFO org.purejava.UnlockedDatabaseTest - Requesting autotype
[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"request-autotype","groupName":"https://github.com"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"request-autotype","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"pRfJOsO/OWDu9ESF/P3uM6WJdMPP38oRAmgTIJ2JnkhRa269g9Aa83TvFxJ/22VKPH4ctPik7x+jf/Gjd7CsEjty+1XKvEdbKzx+SrVA","nonce":"PKLjh1WTK90QpvWm3hnZaUZ8BdrsfTr8"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"request-autotype","message":"XildI5a5/09iHpU8pdyj+zjxYzdc2JBXjJo9B/+uRnVutCaN8tHn0+tDLFoTAwTd/RntQ2o411pO0y6eHpZ5bxbwPUVRpNC6+Q3zeFEtFgmBYB6XCuP4doZmhi2cFvwTz1gS0j4OketC6bGTEaIOoqhZJ+reB2R1VIMJNw==","nonce":"PaLjh1WTK90QpvWm3hnZaUZ8BdrsfTr8"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"request-autotype","message":"XildI5a5/09iHpU8pdyj+zjxYzdc2JBXjJo9B/+uRnVutCaN8tHn0+tDLFoTAwTd/RntQ2o411pO0y6eHpZ5bxbwPUVRpNC6+Q3zeFEtFgmBYB6XCuP4doZmhi2cFvwTz1gS0j4OketC6bGTEaIOoqhZJ+reB2R1VIMJNw==","nonce":"PaLjh1WTK90QpvWm3hnZaUZ8BdrsfTr8"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "nonce": "PaLjh1WTK90QpvWm3hnZaUZ8BdrsfTr8",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[main] INFO org.purejava.UnlockedDatabaseTest - Please allow to delete entry
[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"delete-entry","uuid":"2aafee1a89fd435c8bad7df12bbaaa3e"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"delete-entry","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"kiIOQXqWfNrWCo9qL39h931DI+ayW0cxydq8AdFL4Bjqm5y4G17OjPKk4sNorA3bLMjW2qqYeKW1EdJMt50UFAQB2DCX1Df8UG5x2xQ5b1Sd9V4=","nonce":"ufbshEVkjKsPd0k+ljDGIhkSssK3n2FH"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"delete-entry","message":"lVPBKr4UWdAbsVY6morDBQW7vgFMByhv5euVZ+Z7ePPT3ykRvQk07wHmTX3gBfQwJMlMiGlFDyExhOCGx6lhzjHgy7HtMIMtHZ2+mpz+AmX2hjtXVAJoii33PtP89Az6BWGbHh62vCdv4BHJY2I4M5kJjzIkw9jLRcXHzg==","nonce":"uvbshEVkjKsPd0k+ljDGIhkSssK3n2FH"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"delete-entry","message":"lVPBKr4UWdAbsVY6morDBQW7vgFMByhv5euVZ+Z7ePPT3ykRvQk07wHmTX3gBfQwJMlMiGlFDyExhOCGx6lhzjHgy7HtMIMtHZ2+mpz+AmX2hjtXVAJoii33PtP89Az6BWGbHh62vCdv4BHJY2I4M5kJjzIkw9jLRcXHzg==","nonce":"uvbshEVkjKsPd0k+ljDGIhkSssK3n2FH"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "nonce": "uvbshEVkjKsPd0k+ljDGIhkSssK3n2FH",
    "success": "true",
    "version": "2.7.0-snapshot"
}

[main] INFO org.purejava.UnlockedDatabaseTest - Please deny to save changes
[main] TRACE org.keepassxc.Connection - Send - encrypting the following message: {"action":"lock-database"}
[main] TRACE org.keepassxc.LinuxMacConnection - Sending message: {"action":"lock-database","clientID":"hEzjKv3xo799pXqQ1dAnCj11y4/O6BD2","message":"MBfHKjDgVbOCOblYt1JLcmw5HqCU0ia3FIqCJJHFrMFGzi7o55TaLDM4","nonce":"K3dFYx8SyPP4jevooVoDoSLamROKyUkQ"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"database-locked"}
[pool-1-thread-1] TRACE org.keepassxc.LinuxMacConnection - Reading message: {"action":"lock-database","message":"1Qunk42v9Izn7z2qjvFbAfdUYp+RIjLkIjIgHfuerpmVL+HdFVPF7XYVClInNdpdbkbPNbQHCJVY7OHSNL0vzsE4Xx2aTU4qQWth5QsPVUinhrXxz5P12JV651ZWC+Gjod3+GPMz6Rc00b5hRk42Fx26ywBkQApQxLcQUw==","nonce":"LHdFYx8SyPP4jevooVoDoSLamROKyUkQ"}
[pool-1-thread-2] TRACE org.keepassxc.Connection - Retrieved from queue: {"action":"lock-database","message":"1Qunk42v9Izn7z2qjvFbAfdUYp+RIjLkIjIgHfuerpmVL+HdFVPF7XYVClInNdpdbkbPNbQHCJVY7OHSNL0vzsE4Xx2aTU4qQWth5QsPVUinhrXxz5P12JV651ZWC+Gjod3+GPMz6Rc00b5hRk42Fx26ywBkQApQxLcQUw==","nonce":"LHdFYx8SyPP4jevooVoDoSLamROKyUkQ"}
[main] TRACE org.keepassxc.Connection - Decrypted message: {
    "nonce": "LHdFYx8SyPP4jevooVoDoSLamROKyUkQ",
    "success": "true",
    "version": "2.7.0-snapshot"
}

@purejava
Copy link
Author

purejava commented Feb 9, 2022

The icon saying there's no connection is different when I test it here. I used the same setup as described in the comment above.

The first call to generate-password is successful, but the nonces still get out of sync immediately. Surprisingly this does not affect keepassxc-cryptomator.

keepass.js:1105 Connecting to native messaging host org.keepassxc.keepassxc_browser
keepass.js:1188 Error 7: Die Nachrichtenverschlüsselung ist fehlgeschlagen. Läuft KeePassXC?
3keepass.js:1308 Error: No content script available for this tab.
keepass.js:1188 Error 7: Die Nachrichtenverschlüsselung ist fehlgeschlagen. Läuft KeePassXC?
keepass.js:1308 Error: No content script available for this tab.
keepass.js:1105 Connecting to native messaging host org.keepassxc.keepassxc_browser
keepass.js:120 Got message: {"action":"change-public-keys","nonce":"t2kEBvszwJ0bI2RdA0q7s2Wsj5e4VS1l","publicKey":"mbbFKet5dNCMRcwpJgDFLq45M2Y6K4LO1ABShbw/OyA=","success":"true","version":"2.7.0-snapshot"}
keepass.js:640 Server public key: mbbFKet5dNCMRcwpJgDFLq45M2Y6K4LO1ABShbw/OyA=
keepass.js:120 Got message: {"action":"get-databasehash","message":"0mpJhstvU9xHkvYne6UGHsnai0OfhLRN6q9r2xAtmGkraxbsNpVbVeAU8XV7pAUbWuW+Js3JUgo2ttANGXVSqW3HgRyTsM+ezPy6Xi/ROleuK2233WasJ5w3rjkym9osMqW8guQSNmyCahNg82WB74A7sHzW9bBhn6m9NcyMS2IqJyvo8/Ekx1goc5H7aungLh2vqPEpL6Je0zxUaSSNRTkDPoWYhoYqnVOcOG+mq++R2dKy8zlCJ+nKGEKJRdigEwUFrQBxiA0wrAg5Bls2IRg6orkMYkR9uTuTUqEXyKmWbcLAC+LpyAM+6O+ve4XuV2jT/C7kzm9vOLtLL31jaomQXrrwKBBvy/ZegkHeB/1a5hf0C7iK8Ip1z4/D+OI=","nonce":"I/FQCjvF6P15kFLEK46fG9A59bnyxBoi"}
keepass.js:120 Got message: {"action":"get-databasehash","message":"+wDuLVIkHsdlUYRTGXRRTXwhEJ68CcKTFYUcd8+BQINNaKDSzYsUiuQx9AP7vkNDrLc4xvJuS4bUqoHgWtgwiBpLC+8Ifk5omL60/xwRR6eKJt/egQbUfW0QWqLMq/XyMzyLnCdt5k07DFVy9bng/qQZ/HF8nc+PP4/hYBFMFttE1kk2LKupwBF8yDRaaMulicgDFo+j/5Wtp8C7j7YLsbMhs6Jm33thg1d0BWVYs2SEvEJcVdjrPO2McLv/VRpOhdUDRsNWXKvIxNv+gKVgQy6mN9BOiDm4O/EuXgogs3b/rQ0rhyk4Cw8hE75JGOpzAqNrEJxehofwxW12jYoZScrH5VNriIuRDhkD/BBybna75lLVwCoa773DifqkLAA=","nonce":"fVLpqNQhcbkESEhRcAYnkvgf8pc4s++i"}
keepass.js:120 Got message: {"action":"test-associate","error":"KeePassXC association failed, try again","errorCode":"8"}
keepass.js:1188 Error 8: KeePassXC association failed, try again
event.js:93 {message: 'Could not establish connection. Receiving end does not exist.'}
keepass.js:1308 Error: No content script available for this tab.
keepass.js:120 Got message: {"action":"get-databasehash","message":"qXKR8hcG7c+ptxbGzg7SB28IMfLpoQHZ+cnzEuxLKLW+XFx216vbEx3Y1ZREQgBUt1v+vFqsVHsWAqGXqc2oT8vcbWHsbw4wCpYP2xTdW3t5/nqGn6MOQmNhy+ainc503yw9WiETU22ylH1U+Qk4OKwWkovOG70980BJN/l2//EEhuHS7BKmnKQeyGapyCxYphrLHvxvhf7hmOHNeOqxXX+RSJ10opcRIYf9nVJRpEA072w3vKpPHkz/TTfHV0J0iTjvH59NSSVTA0iyS0DoLgSwCCRDxmO4NUeFjXQMUQyDwFDzEnM/GQSbNZ2g27X39Ex1+Hl0xDRwthH319UwfQXaaCGpLXL/Zg++rzepkx5pCh9bRYLT9aDm+r+9Y3U=","nonce":"5VRibOUTCvQb6q7FdteSfhoUA2TeSnse"}
keepass.js:120 Got message: {"action":"associate","message":"h1PoHZ4AxGBfCUFEiJ3xnZJhj7uh5CF8nsjjbrXKZ4YgRCUzTvL91iAkX0tUXucOOQLsiPgp5wCEbeJxCMhYzEGkZUS4bplaJx5IJvX+y6LWL0AnLvGUB4e2bk/iL2RYOCJGbMIqjrTDMwFY2cwcfknY2jSfymZ/+/fqQ2XalpvSBUDXnoP06UxgXbKg4u2XFtSWuJGZK533gNlnH4YqBZCTqRUIOHBhlbtSM6dUWLt/r6NsqHmq1BPXZrws+Ewp3vza79jNIATsyPgzZ8CHzoJE87735T64wLeT","nonce":"VKmUVFp/e/NznF5XEkJVSOvN5uFpVp1s"}
page.js:209 Cannot send activated_tab message:  {message: 'Could not establish connection. Receiving end does not exist.'}
keepass.js:120 Got message: {"action":"get-databasehash","message":"RevuYcOB30Wn/MNInKt872v5VJNGauD+lf2u65nsa/W13WvQAQ0IJCqNbzfLGsmejqJviDzNGkNAZn4sUGF1gDkXuHEkedK3WoA6UROmDFjIWEd8GGEi+A2D0TMIMKmGPSkp+mkk2dTcSPv2rhpbiS5WUrDLXMNfBTAYuLy4KwQz+c6RFknVuCcJ4bpqZ8DUxE1hVXET//sgdxRwTHKllMKkKLPZmrYB8gxgYoC/BZZM+9nZib50bhqVyBkE8JXJ5pqiaD2dBnGpnlxbEzsO0iKjoeLGJ4XakPFaX6OlswYP3dGCUoHAb/iMpXTHkhwoOFjtIeipR0lnVQ8LrbeK+Ij/WerSWMx60Qb7goM7PT56v6i+I38hXAyTQK8Xxy4=","nonce":"n2Q9DumFHQmzwicg5x4m63qmruRzDekZ"}
keepass.js:120 Got message: {"action":"get-logins","error":"No logins found","errorCode":"15"}
keepass.js:1188 Error 15: No logins found
keepass.js:120 Got message: {"action":"get-databasehash","message":"QKgTI5P3tEm6UjtDaoSRJ55kLANcRq9StkBwURYgwaMfe76EwDDT6SEo6HyuSibdfKneYv5us02fzJsD7zCevArylIx2IADnOOAgD3C/q/f4izwnujIs3mAhL15Ndsd0xglp/c6ACfvKmDKiqACm45H80EzgjdkdO6eGa0KsXCJAoiNVT5dGIcRpJX9Vz41gmJZ7JbzHwWvOt3SPWL6LznGhrOJTLA+ZHZbWnp160ayHbKr+vNN5NQJlhgt5ALqWSkR+Qwgzy0LLKLIyeGyjQsc5c4tDDewfHjkBo5f4wbnkvAZ8qutHGHpgTSmpApc5g/RdZgWibtiqj8CWqgPUCvyxdPnESt82ki/yBx8A3wIkt5olGQ34FN3EzXGY/jM=","nonce":"yXBcdpXsZJWvenawSOYvKT92OJefZ+Tc"}
3keepass.js:120 Got message: {}
3keepass.js:120 Got message: {"action":"generate-password","message":"max/fPlpbisloLOBAL2kmfWvYVHrlhDayDEVnrHtHdCrETIDbnvaKgdWCiKOAtHDwnkYV1wImbV7ljt55gUcs6XZ3FqKSTjpRnhRi+6aVhW9LuL2rRvnEUKrPlMNXGaZReXF0NBvdZddXivS0GAs67BSNlp7Tb4ibGs9+iZfIrlv0HNnyWtGpDb3XWyMMJsR0pXQtLBG/qZA0/I6bGfgEomKieyK","nonce":"Rbx1gZgx8GQVZNPlJMMkndZ2/h9cXdLX"}
keepass.js:362 Retrieved password:  o#$,Ia;T"$4)[KJJB~/v
5keepass.js:120 Got message: {"action":"get-databasehash","message":"Ok/94B8Q2Bp9om1rtKP6l1SrTM1kqmjcqAMNH2H5ji41cXbvSSEeqA4uM+LYE1LG6jSQgU+5gs4uDkuCYcUpWG42cobhtUD+rCrIO+1ELwaiDGVc292zmgSJueAnIaht9G91SvnEyFrXFWP6lM72e/Z46T/6EE3lJqymDnbjveUOo8mL+5jqG8xMdXBaqBclCSxIv90l2Jm/4WoPzqjD+fW40cLKWKL4dc8+bdOudkxDTvEWTBTV4ChanFUuGpm48PPKNcKaADk3+eYxiLNjfhB7T6dL4rRle/mpf9fnWpehs9FZDLSRziA3TR3zmIstsOAHfSt2donhKRFdsbGgrlLyLNbPB04tUVnChCRSyaTq1+QoSYL8hy1H0+uDsJk=","nonce":"Wx6Wnb9bixMwrWUULDlA/ceMRW2L9cgs"}
keepass.js:1172 Error: Nonce compare failed
5keepass.js:120 Got message: {"action":"get-databasehash","message":"VCwjb0QR9YnzCFMQsutQLYW3wpvp+IodYoWBaIbzV8vYTPs6qYa7CPq14HiIXG6u2BenS8TwqMeQ4yJOPdTu2083TlSPVgYMxX6LPwX0QHLknIcUUPFqr9JhtjZeDbYWOfFqLtmwFp15pIytsZ6YZM8bu+MdaOeTuG3ONB/waSqx77aNN2LM6bDwrXt8TGrjYRodf27Imvz1CbAxmVSSXyRsBVRW/s6Inzdt7VXTcqhhNhz0gfNaDFznQLMqdvTYI/TnrsYsrV8Wj4q6BzfftUhbKgmZ/hMfZ/IymNcQ0i/iJnVzZdfnh6KCKB1q8TtIV1opXVqHkvsA2C8Z83kNHxiBAf/KDiUj6uC3B5ZTn/VrklIVeFWrjUd81KTrdU0=","nonce":"93NMbePhH4okboo4IMyg2L6zp05W6XRo"}
keepass.js:1172 Error: Nonce compare failed

@varjolintu
Copy link
Member

@purejava Glad to hear it works better. Seems if there are logins for the page, the popup works normally. Gotta try to find a solution for the sync problem. Probably the get-databasehash requests are not receiving a response.

@purejava
Copy link
Author

purejava commented Feb 10, 2022

@varjolintu Yes, the same here. I used a different database that has logins for the page for the same test. The nonces stay in sync.

EDIT: looking at the console tells something different tough.
I thought the nonces stay in sync, as the icon still tells there is a connection and offers the logins for the page, but:

keepass.js:1105 Connecting to native messaging host org.keepassxc.keepassxc_browser
keepass.js:120 Got message: {"action":"change-public-keys","nonce":"S8GiXwlOXRL6++K2Z+8SuSgLqQVNULwB","publicKey":"u2AR0moGWm/MzFsY0fv0kuEb4Xe3Nmzqn+jg6gSRLUA=","success":"true","version":"2.7.0-snapshot"}
keepass.js:640 Server public key: u2AR0moGWm/MzFsY0fv0kuEb4Xe3Nmzqn+jg6gSRLUA=
keepass.js:120 Got message: {"action":"get-databasehash","message":"gsjeLGiJqX4Ahw3ngJNVBGVq57O68aXrihvhLT81GovXCDG8z2j/am58FYBeuOyZyOcG6Wu4wZzUZLJdfeBZWE2GeHfz0c5yVYkRGFev5J6875YEHhxc8ZU8+kYHWoNzq3DdM8CXeUZ6U2ejcDyhvkw+Bu/xea7zwolPi1vFAj71MeDkHNF53UzS2rUk/kNlsI60ovCyuJakwnC+aX72L1EChzmzl2uUYEhD1qhupuoaHYK3rm5POcOXnhXB0Dk5nNPjARkm4C0NvTk59cTN5nYGYDuRUVhA4V4uUYNKYlEhNplhZCIHWHh6uVrJC11unzs1DgVjAMxAwE+R9pLZSWxZ4fPZOB3JM8KDY5BvvUmpKVPUI8vtc0iDxo6SHXk=","nonce":"0Ow8BuVYv8CjBZGmST5FFRbqKPGpj9xy"}
keepass.js:120 Got message: {"action":"get-databasehash","message":"mr11s+CchhAS4pg2YdGGZQ3UZy0gBZJDAN297jP8zOFflbj+F/xzGxvE9LTnMqKBqOnKexyRmTU3nAKshHye92D3+4JtiuiMHRS4l/mSYuOKEgFrjIroSuiS+f/qm8lCL4NnCMeyr6bd3F9ttSO/mENfKq+jDRmj9xTwfqRagbd9qGOno5bqtnvnFekCFO7FmM9F+5RmQMQr+IGotqZ8HxLfK1mM73Ypv0q79R6/0C7DkHJw4pRAfKC3sBO/VZUj6kl7VqoFPKF5uJKaTMF4qEdmes93Qbxxb99mNobxysno5RHtTOL6GUFxlzCCnpJfMbps7NDDoNTjLTH5PgyMLdC4/z9+Qtz1NV5iHnteFYWx/8nsnXeX6XHX3W34bXA=","nonce":"CmBvVqV8sVDSoj/bch74E6OroAS4YiRq"}
keepass.js:120 Got message: {"action":"test-associate","message":"YRku13BrPZECYVgri9z5afxS9wcivVM+JaBteooDMZtMGbdhNJnPUzVEH2t6xIDgoI3qxF+OtUF031MfpfQBeURuPgybp4404LIEWF5KlHvsSLFBv1qGQcvv4ZsJtlBr1OF8siyZ4r8OF4v0ErahDCccS28AO0hkBhmxw8u5Fa+Uw38xW2CA4F1CARNeTAVXd8tFJKlscoDP4EcqMxwOhJmZwUpyv8LFAfVuU+XXdOwv3nAxsNtfeaIy6/eXa65Kjs0xBo+N6cPtEKUdNdxDI0lL511N8t60Gois","nonce":"DHd0puzdZonpTynlFYgq+CnxciT3jGT7"}
keepass.js:1308 Error: No content script available for this tab.
keepass.js:120 Got message: {"action":"get-databasehash","message":"Bxy/WS2SRoS5cQ2B40Jy9nRBH1gAGovJNWMi9A+0iz6WAtTxoW2RjPRHH59pn3gQR3F7XVjAPEDc8zj+xTUuIgzA3k8R616jmcDYt8XJfHLGm3n76S0x+6z3aTZ/ph9k/CIkAHlxRRJRKZKR/B/TJKVxXtN9/0tlafSZkAH9GSLTdYra09cvBr6aCNpsIC8zwfcJEIccEF3/20duccFIYkTY0z/WM4bKyDKfIOS24hartuwncH7wAZTeK68paJmHlwfkS0q0I2Hkw57JjehlvjjJC2eZXWAt3zvTcqZ/13Ya3mQo/BJC7jr7+21b3IuLvAk4rKtAkkyv4ySrPo1DOE8jc6VcwWsTAfaE9JilT2ZjObbR/CwWS3g7LhSxh6o=","nonce":"StNGYv6DmJC2gzK4V6yzMPjI1Tw5e3mO"}
keepass.js:120 Got message: {"action":"test-associate","message":"H9v2Gzn5Ygo/OAbLxtuOLsM7dg/tITRDstYdQp68dM7Ig9JuHWtOMxjUAm7rIY2/yX/HEyCiik3P5ibIzzVAl/2RHcFbM0JtTdjRTZbgiji7Kel3PKk+AehTWRP+ieU15x0cTCObP/LUH2iZt4gkqIrm6eWh9Y76TcYDxEptTDRamk94BVTpbdwpzOwr1yZKefJExEp9EpfvOuPsWPoWIda9YnNvKWdltglV2CP5umI9qD5U7TazjcBAgKfOS01VklT0tKeqTL4LiBLdLKO0a6+x9nauezsOdeiN","nonce":"zhiRucguKoeZLdX2K51x/Ywdy5iQlGwu"}
keepass.js:1308 Error: No content script available for this tab.
keepass.js:120 Got message: {"action":"get-databasehash","message":"aWW0CptfUvTqlsHfYBtvYekPJIhouF4blS2mUNnxN/Go5F8W6cOrYgGSMY/FRYzSH25dWyAVgkRUD9n/3r8pemhERPX/12px4L0GmuToOGUUkekGW0VKkQTnxq3mecxoGNKljQofgIKzDojnSJVVItext5lcHUvyJwm0rw/uCgMMnHFluqHTJOUFDGp0aPgfKBLOGnIhz5doMs+mM0Nzj8EMG+ia71Pfd8yQop8/ngw1DKWfKBkczWdIv9ir/k0ugpEEcJAbtA/pwoxfSVEQ23fwLvAvRPzImK0K7iCTUnzbv4ZfqMoeoFTbVpHT+FEhM0RNRiXvsb+CwDdrghlI//lbZoYcxyTtGMvl+n0teSzp/RHQt41UIWRTh3me1wY=","nonce":"1mWQDUO1c6qMIgReiU6h8DHxzXiZYEdH"}
keepass.js:120 Got message: {"action":"get-logins","message":"yB22SwqMnxvfsIVkbPqSonEnaYLK0TORYXRtc79IRITecewAaUWny69bWX6cpht5cEz+cH0YX7vBzktVsmLQuj+lGNx/0VER39e4K8ezUHMjTFz4sCtMM7bJewyB1TJ/QAsgLuYibTJGt4t/9AAASq9CXc7z/F0Ae6QRzdYyKaP1DEjLjCzp6eDGDCO2EckECBWaNkictPf7Z+LGrrSV+UI1v5PcXAC5+2eJHdD8Z9uNCCtPbXudX3lMVAy7OIyNjJ9CQ8KDvDLwva1GH906eoK2BRO3rr03+tLs3uBrf4jnviqgzoJ3P7exfti8QfSy38i/55lAsA4BzKFDGCLiTyM1nR3XbcfHTEeR+zZb9wVB47Z5vJCUJn0xYwfq4dNTLpo6pd8ujmISZx30EbJOgPCyS12fW6btXcQ09RdnEidgsN2DVL2ootL84/VIXI0AyWO3AZeHUdV8FoznFVv2U0RLoD1r2Qe/KVfVsfW29l3TfmD09jvLSsx0FnBb0lFKgSVBdumeBE3ZQMSb/VvSlq/TyCVj5ArcbQ9MkCk5QK2VxTaMQmTvC0qgyZ4+mbm3eBoh4yiCs2FcgIGNS1xUy6zpKz7AQioUnmc3y/1hBIKrwS+ZifsN267Uhc/hjDogqpBVMX2pjxRL5niPym7DYXdoxlONw4KBX9d73fhvYMc4NGz0rPYORnvjHlXbyPkP1Of1CGBWymx+anu/7ujfgEhrfSAMw3V51qdXPtlEycmLQVWu2Cm63KrpsbEjkA/qyJH1kARvm165gPwpPY0Ofoaceds9ePge0/C8rX3/No0+1xHVjOEtVBxNB9+fTHxxV4Ed42w0PVglHfMgPBxaYG6hwGNTgVqhXV7bfQfa4E8wEAqAXNJx1POE/jKLyCYKU6RiZG0O8DDd8nvbJrHggFaAEYaCWz5Oeuq0zG0/MRYn9XXyyBF2/5dMVp7SKnYJqNM5QWy2iOd4pzvZWpQi+zooJIOlE0fsLsxUeWqy9DJtc7A4gxF5g+syaYE2cqiP8i7vQJLHHwprsGk0G5+Z1ymjQN7TC8kd1fKtKtbXQLC/3tnKYrU7wzwTSRLQ4Ce2tkE+oDvauFYbXg7BZSe9jAW+wglYPl+6CYyVZjpmxGrQvdS3bAOlbL/ReAIHP/Sq23TMk87aYtw3W40CD/I=","nonce":"eYj7019WvYX7F5Ol7sPjgl2CqcSPmNjH"}
3keepass.js:120 Got message: {"action":"get-databasehash","message":"3W6ULtO9ipjqHsfQXFqNYwdUCxlPmnMZsU0WFgNuHF+1uNY8d9GPX/R+8ErFrW3GZk6G4ptPIxPqYQS59VyGhGCbUnf+9vNbXQ83+I4uZW0IOptA0iYGTqixaEuit9jk6F4OEfuNoEcXbQpxDufrfX/9aPNoTbltsd2VAgA+8AyXmruO+T2vjQioduiNrr7ODsu50qnj4DrLmrYlFf4cnKCZ0X057T/XpUz1Tx554IHtGnwsisbzeMly/2KDjRfQbMkoZvtZaH3z+79ZWn5rI4r/JEe9pwzp8oplcKmCt/IyVH/DXDLMX1y83Gc2pVFH9JWaXGjdgyjz0X2bj7ozbcYDyd3IDLBVMRmfDZQZxDvtSvASw8QXD33MZIDBS3M=","nonce":"oIut2KukCn9gGMH4v+e4kNL5JTD9zfo8"}
3keepass.js:120 Got message: {"action":"get-databasehash","message":"jF6czq/dgNY/KX1pfapoTOFzdD2yHtAWnx/hTUi6jxJ4XmkDxYTu7HHmSi2chLb1URIet5AFGeqfTKIdR2JD9+AvGACIStOGnJm7cHWxvhYQM6cGOmf+qDULFwAhB1bjl/nwc2bshZa1ZTcqYBlWyB04qLonbDX98yY3ZwMrwa2GQQjJO2KsWGP6cuSeqNGiewMlQb78eCcGfDDMUD8lTsOD6CbJQj224cCjA/qCGULAqFQuF1B83jGrJIPOugxyAtlDUCwmZzAM5dqstk5wLy9BlC5OEdoW6ofOpyfmeTnza+bkEQ7ERifuQdBT16uDx7P2agpBUeTp8Sgy1fn5wVSzmJ9TA27dGQnXWhrX29ClClotLmTam44O1ylDvhY=","nonce":"rT5EoFM5cleIAhwXZWe+TFrJpHHjwIav"}
3keepass.js:120 Got message: {"action":"get-databasehash","message":"7j2lxVmimni4zp9vUrT0IWc1Nvt4kPreuTtCBmXN1SfSg5nvKAaTUDgm7BQJhYvYl8374JgW0h+6wSZjPsXGkuG+ydXXkqLgQieNuyhptMswu/FfhcqJ51mrwllFhrlsP9tAeAEZhAFTYYJsY3dN0rS9xIZ0MApu53IyhzpIxA99u74Y73L1ULPPp1G+76MnYMv3+yIO78d63c1kFiCkARDHut2wDPvPclpz4zpW38EuUY9qui889gMmkQvNaCvhdgayD1GMcoTG8na6VNwQ+xqqGj+NWQrMxrra051/1jrz8wpAHP56Wq6Jbj2kJzQGgOf/h9o30/s4PVvcksHthZaGvn+0H1GIQu4itbd7enB1J6msJ/p+qS9Tib6GYLA=","nonce":"fshSU5bgPlr4FfUzf3CTAW9dsmQjiNd3"}
3keepass.js:120 Got message: {}
3keepass.js:120 Got message: {"action":"generate-password","message":"Z+sN+w1MzihFvwB6uFiZK9tjY68fuDVkNlrKMg8CsR5d1qkNXinQZT6UFr3t34PY9ISRkw0I0pTdK16dTf40tBRdH/BBj4Olz4f67awdM8Aw/sj2VXGw9RKaK4GRnFf3D7PFZCj7kxlVC5p2K16Yoo/ohOpaHWU/QKXtN2vnsHxU9Xm/H1XHcNzVXVTgntOcCHvVpspcYbkS1PZ2EtLLufQWdfc=","nonce":"1sAjeFu//GwrC4WCR9qJM7nzx5OWxsPs"}
keepass.js:362 Retrieved password:  {IR5:{zei<t'WEaX<Nh/
5keepass.js:120 Got message: {"action":"get-databasehash","message":"y3hnYDKM4UCuv60+13b4xv8l1H1QWITyREXShqJv51CNJ25Xri7F6Se2JfOCO/F/KldZIE4cI+2gUauKP9Pc5gt/kbHLeQnjFmQNi/fH582IHAgJQ6a/8yJvqZjgHfZeu2dKX8AbE3QnHk+/LUlniRAp1fkwo0Y3ophoAaKfG8Z8Wae0cGSRW9VlheoTHf9i1nfY27aEjDp11JszjeOZ9Sqpl9exgd01s9uQSYDkQ9Y3xcfTwh29g8YW0CvxVOO5WVzXk6yNlTIc3H2quqzbgUrAZHZvWqn1fBSJuRyV/X8hLPefchrGvnvwI3iwbCLwXIxzItR3roYzZzseicCvO+oAERxlAppHLbmuj46auDReeSv8n41BE+9P1TJ82QI=","nonce":"+8a68fazaht2vMwF+sMIQ2LZu6N5XP4U"}
keepass.js:1172 Error: Nonce compare failed
5keepass.js:120 Got message: {"action":"get-databasehash","message":"MX/j8z7QP0Hgm3LBWCxJm1/P76c1QFDnuE87OUVs58nuUz+e71z+elBj18fl34vMIxHzRZ/rB870lWQfFUGAXibL8hPYAuzfz3qmwVm++xohj/qvBjmGbOvh7QIok5pkPSYvNJpNOgHBu7qvzfwaggo27kJzoYKSbPjoFg5n/AeI1r4wWh1okeWFxdpzZ5ckYGh+8hsL3EvW9BcdJ1KCBg8Hcsp3Y3S0FNIQtZmlYc5QE8YXafiT6dLDEdCM2g/mi7+lKOyBamJkYt0G6jIy/NMp+f1QFigPyebeGINIwSep4RuB3MtzPdzMOlDAsyr9U3/czTK/+7g5gvRsMC2FMGp4W2BXwqH01b43lV2GPCs18I0/s2niodDGi5Xnp6I=","nonce":"VOBRmi3yvTatGkg8x9o8JfRJxUlmABL8"}
keepass.js:1172 Error: Nonce compare failed
5keepass.js:120 Got message: {}
5keepass.js:120 Got message: {"action":"generate-password","message":"txv/NC11kYrnbFVITnEs+RWvroVvK4MLmnHKaggqzjkMkQYZSz6tw7chAh4GdzIujJcKK18r+PyZhTdSvTutamfKkYgndf3fMDFL0a5luaA4b96mrK+UijOF9Ym5Iz4UoIGxAYlDJgkV5/my80UTXl6cKCcMUJIMTryKL0AcmSBetp02PNrlS9srR/VU1cy8HiTHUB8O3l2RnOcYFgRxTliNfR8h","nonce":"7dLzMvV650FwzQavP28eUOzpWtwnQ6Wp"}
keepass.js:1148 Error: Nonce compare failed
keepass.js:360 GeneratePassword rejected

@varjolintu
Copy link
Member

@purejava Yes, there's still some problems and I'm trying to get it fixed on the KeePassXC side. Restricting the client to do something is not a preferred action here because someone would always break the rules.. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants