We're sorry Aspose doesn't work properply without JavaScript enabled.

Free Support Forum - aspose.com

FIPS Compliance for worksheet.Pictures.Add()

On a FIPS enabled system, adding a picture to a worksheet throws a FIPS compliance exception. The same code runs without a problem with FIPS turned off. FIPS compliance is required on a large number of government systems for security purposes so it cannot simply be turned off. Is there a workaround to this issue?

Info on FIPS: http://blogs.msdn.com/shawnfa/archive/2005/05/16/417975.aspx

Here's the code in question:

Workbook wb = new Workbook();
Worksheet sheet = wb.Worksheets[0];

string imagePath = "C:\path\to\some\image.jpg";
sheet.Pictures.Add(1, 1, imagePath); // Exception is thrown when FIPS enabled!

wb.Save("Book1.xls", FileFormatType.Excel2003);

Here's the exception details:

System.ArgumentException was unhandled
Message="Unknown image format:This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms."
Source="Aspose.Cells"
StackTrace:
at Aspose.Cells.MsoDrawing.ฤ.ਡ(Stream ী)
at Aspose.Cells.MsoDrawing.৾.ร(Int32 ม, Stream ী)
at Aspose.Cells.MsoDrawing.৽.ਉ(Shape ਕ, Stream ਢ)
at Aspose.Cells.Shapes.ਡ(Shape ਕ, Stream ਢ)
at Aspose.Cells.Shapes.AddPicture(Int32 upperLeftRow, Int32 upperLeftColumn, Stream stream, Int32 widthScale, Int32 heightScale)
at Aspose.Cells.Pictures.Add(Int32 upperLeftRow, Int32 upperLeftColumn, Stream stream, Int32 widthScale, Int32 heightScale)
at Aspose.Cells.Pictures.Add(Int32 upperLeftRow, Int32 upperLeftColumn, Stream stream)
at Aspose.Cells.Pictures.Add(Int32 upperLeftRow, Int32 upperLeftColumn, String fileName)

Hi,

Thanks for considering Aspose.

We will check and get back to you soon.

Thank you.

We do use MD5. For this issue, we will check if we can use other hash algorithm which is FIPS compliance.

Hi,

Please try this fix.