Uploaded image for project: 'C# Driver'
  1. C# Driver
  2. CSHARP-1937

C# Driver 2.X does not allow upload to GridFS when FIPS is enabled

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major - P3
    • Resolution: Duplicate
    • 2.2.3, 2.4.2
    • None
    • GridFS
    • Windows 10 x64

    Description

      Hi
      If I enable FIPS then I can no longer upload streams to GridFS using the new driver (this worked on the old driver). This simple code shows the issue :

            var client = new MongoClient("mongodb://localhost:27017");
            var db = client.GetDatabase("Test");
            var gridfs = new GridFSBucket(db);
            const string filename = @"C:\temp\test.txt";
            System.IO.File.WriteAllText(filename, "THIS IS A TEST");
            try
            {
                var file = System.IO.File.Open(filename, FileMode.Open, FileAccess.Read);
                var id = gridfs.UploadFromStream(filename, file, null);
                file.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.InnerException.Message);
            }
      

      This yields the following error :

      {{ This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.}}

      I expect this is due to GridFSForwardOnlyUploadStream.cs using IncrementalMD5.

      We used to be able to upload with the old driver as we could specify disabling the MD5 check when connecting to GridFS :

          var settings = new MongoGridFSSettings { UpdateMD5 = false, VerifyMD5 = false };
      

      Thanks,
      Steve H

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              hallio Steve Hall
              Votes:
              3 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: