We are using Aspose.Slides for .NET version 17.7 for conversion of MS PowerPoint files to PDF files. We get an error during processing on FIPS compliant environment. We convert documents using the following simple code snippet:
public void ConvertToPdf(Stream inputStream, Stream outputStream)
using (var presentation = new Presentation(inputStream))
Steps to reproduce:
- Run Local Group Policy Editor (gpedit.msc)
- Go to Local Computer Policy -> Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options
- Change “System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing” value to Enabled
- Convert PPTX from attached ZIP to PDF using the code above.
Expected result: PDF document is created without errors.
Actual result: PDF document is created correctly, but method Aspose.Slides.Presentation.Save(Stream stream, SaveFormat format) throws an exception “This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms”.
Please see files in attached ZIP.
Input.pptx - Initial PPTX file.
ErrorLog.txt - Error log with exception stack trace.
This issue also is reproduced when we try to process documents using Aspose.Slides for .NET version 17.12.1.
Files.zip (2.0 MB)
I have worked with presentation file by performing the suggested settings. When settings are applied then even MS Visual Studio throws error on loading project. I don’t feel this is really an issue with API. However, I have still added an issue with ID SLIDESNET-39845 in our issue tracking system to investigate the issue w.r.t Aspose.Slides. This thread has been linked with the issue so that we may share notification with you once feedback will be shared by product team.
I compile code on the machine with disabled FIPS compliant algorithms. But application must work in both environment with enabled and disabled option.
I investigated the issue at my end. I think the problem is that in code present the call MD5.Create(), which creates the instance of class with not FIPS compliant implementation. I found microsoft article which describes the problem.
Microsoft advises to create instance of MD5Cng or MD5CryptoServiceProvider classes, they are both FIPS compliant.
Also I want to say that besides Aspose.Slides we use Aspose.Words and Aspose.Cells for MS Documents to PDF files conversion. Neither Words, nor Cells don’t throw such exception. Exception is trown only from Slides.
May be it will help you.
I agree with you that by disabling the FIPS setting things have worked on my end as well. I have included the information shared by you in comments of associated ticket and will share the good news with you as soon as the issue will be fixed.
I downloaded latest version of Slides (18.12) and checked the issue described above. In this version of Slides the issue is still observed. Are there any updates on this issue?
I have observed your comments. I like to share this issue is going to be resolved tentatively in Aspose.Slides 19.4. We will share good news with you soon.
I just wanted to mention that we are experiencing the same issue, and eagerly await the resolution for SLIDESNET-39845.
I have verified the issue status from our issue tracking system and like to share that it is going to be resolved in Aspose.Slides for .NET 19.3. We will share the feedback with you as soon as the product will be available online.
The issues you have found earlier (filed as SLIDESNET-39845) have been fixed in this update.