Uploaded image for project: 'MariaDB Connector/C'
  1. MariaDB Connector/C
  2. CONC-312

Implement caching_sha2_password plugin

Details

    • Task
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Fixed
    • None
    • 3.0.8, 3.1.0
    • None
    • None

    Description

      MySQL 8.0 introduced a new authentication plugin "caching_sha2_password" plugin, which is enabled by default and will be used as standard plugin:

      Workflow:

      1) Server sends scramble packet
      2) Clients generates a sha256 hashed authentication string with the following mechanism:

        digest1= sha256(password)
        digest2= sha256(digest1)
        digest3= sha256(digest2, scramble)
        digest4= xor(digest1, digest3)
      

      3) Client sends digest4 as authentication string

      On success server sends a packet with length=1 and content=3. In case the password was not cached, server requires same authentication mechanism as in sha256_password with a little difference, the padding algorithm is PKCS1 v1.5 padding instead of OAEP.

      Attachments

        Issue Links

          Activity

            georg Georg Richter created issue -
            georg Georg Richter made changes -
            Field Original Value New Value
            Description MySQL 8.0 introduced a new authentication plugin "caching_sha2_password" plugin, which is enabled by default and will be used as standard plugin:

            Workflow:

            1) Server sends scramble packet
            2) Clients generates a sha256 hashed authentication string with the following mechanism:
              digest1= sha256(password)
              digest2= sha256(digest1)
              digest3= sha256(digest2, scramble)
              digest4= xor(digest1, digest3)
            3) Client sends digest4 as authentication string

            On success server sends a packet with length=1 and content=3. In case the password was not cached, server requires same authentication mechanism as in sha256_password with a little difference, the padding algorithm is PKCS1 v1.5 padding instead of OAEP.



            MySQL 8.0 introduced a new authentication plugin "caching_sha2_password" plugin, which is enabled by default and will be used as standard plugin:

            Workflow:

            1) Server sends scramble packet
            2) Clients generates a sha256 hashed authentication string with the following mechanism:
              {noformat}
              digest1= sha256(password)
              digest2= sha256(digest1)
              digest3= sha256(digest2, scramble)
              digest4= xor(digest1, digest3)
            {noformat}

            3) Client sends digest4 as authentication string

            On success server sends a packet with length=1 and content=3. In case the password was not cached, server requires same authentication mechanism as in sha256_password with a little difference, the padding algorithm is PKCS1 v1.5 padding instead of OAEP.



            georg Georg Richter made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            georg Georg Richter made changes -
            Assignee Georg Richter [ georg ] Vladislav Vaintroub [ wlad ]
            Status In Progress [ 3 ] In Review [ 10002 ]
            wlad Vladislav Vaintroub made changes -
            Assignee Vladislav Vaintroub [ wlad ] Georg Richter [ georg ]
            Status In Review [ 10002 ] Stalled [ 10000 ]
            georg Georg Richter made changes -
            Fix Version/s 3.0.5 [ 23023 ]
            Fix Version/s 3.0.4 [ 22922 ]
            georg Georg Richter made changes -
            Resolution Won't Fix [ 2 ]
            Status Stalled [ 10000 ] Closed [ 6 ]
            serg Sergei Golubchik made changes -
            Resolution Won't Fix [ 2 ]
            Status Closed [ 6 ] Stalled [ 10000 ]
            georg Georg Richter made changes -
            Fix Version/s 3.1.0 [ 22519 ]
            Fix Version/s 3.0.5 [ 23023 ]
            georg Georg Richter made changes -
            Status Stalled [ 10000 ] In Progress [ 3 ]
            ratzpo Rasmus Johansson (Inactive) made changes -
            Priority Major [ 3 ] Critical [ 2 ]
            georg Georg Richter made changes -
            issue.field.resolutiondate 2018-10-10 13:51:08.0 2018-10-10 13:51:08.722
            georg Georg Richter made changes -
            Resolution Fixed [ 1 ]
            Status In Progress [ 3 ] Closed [ 6 ]
            georg Georg Richter made changes -
            Fix Version/s 3.0.8 [ 23233 ]
            ryantheleach Ryan Leach made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            GeoffMontee Geoff Montee (Inactive) made changes -
            julien.fritsch Julien Fritsch made changes -
            Workflow MariaDB connectors [ 85671 ] MariaDB v4 [ 161100 ]

            People

              georg Georg Richter
              georg Georg Richter
              Votes:
              3 Vote for this issue
              Watchers:
              12 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.