Skip to content

Conversation

@anodos325
Copy link
Contributor

This commit adds the ability for our API client and midclt command to perform SCRAM-SHA512 authentication to a TrueNAS server. This new authentication mechanism provides replay resistance and detection of case where the remote server is (possibly maliciously) granting us access without actually having access to either the API key's hash or keys derived from said hash. The new authentication mechanism is only attempted if the TrueNAS server reports that it supports the mechanism.

@anodos325 anodos325 added the WIP label Nov 17, 2025
@anodos325 anodos325 force-pushed the add-scram-auth branch 3 times, most recently from 12ec52e to cfca481 Compare November 18, 2025 14:04
This commit adds the ability for our API client and midclt command to
perform SCRAM-SHA512 authentication to a TrueNAS server. This new
authentication mechanism provides replay resistance and detection of
case where the remote server is (possibly maliciously) granting us
access without actually having access to either the API key's hash or
keys derived from said hash.  The new authentication mechanism is only
attempted if the TrueNAS server reports that it supports the mechanism.
@bugclerk bugclerk changed the title Add client support for SCRAM-SHA512 auth for API keys NAS-138594 / 26.04 / Add client support for SCRAM-SHA512 auth for API keys Nov 18, 2025
@bugclerk
Copy link



class ClientFinalMessage:
__rfc_str = '<UNITIALIZED>'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo for uninitialized? Is the value important?

Copy link

@billohanlon billohanlon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants