firma en excel

Agregar firma digital en Excel (XLS, XLSX) usando C# .NET

En la era digital actual, la seguridad de los documentos se ha convertido en una prioridad principal tanto para las personas como para las organizaciones. Con la creciente dependencia de los documentos electrónicos, es importante asegurarse de que los archivos que compartimos sean auténticos y no hayan sido manipulados. Excel es una de esas herramientas que se usa ampliamente para almacenar y compartir datos importantes, por lo que es crucial contar con una forma confiable de verificar la integridad del archivo. Aquí es donde entran las firmas digitales: brindan una forma segura de firmar y validar documentos electrónicos, lo que garantiza que el archivo no haya sido alterado desde que se firmó. En este artículo, exploraremos cómo firmar digitalmente archivos de Excel usando C# .NET.

API para firmar digitalmente Excel

Aspose.Cells Cloud SDK for .NET es una potente API que proporciona una variedad de funciones para trabajar con archivos Excel en la nube. Una de sus capacidades clave es la capacidad de firmar digitalmente archivos de Excel, proporcionando una forma segura de autenticar y verificar documentos electrónicos. Con Aspose.Cells Cloud SDK, los usuarios pueden firmar fácilmente sus archivos de Excel utilizando una variedad de tipos de firma, incluidos los certificados digitales. Exploremos las capacidades de API y aseguremos la integridad y autenticidad de los documentos electrónicos.

Para comenzar, busque Aspose.Cells-Cloud en el administrador de paquetes NuGet y haga clic en el botón “Agregar paquete”. Además, si no tiene una cuenta en Dashboard, cree una cuenta gratuita utilizando una dirección de correo electrónico válida.

Agregar Firma Electrónica usando C#

Utilice el siguiente fragmento de código para firmar los archivos de Excel digitalmente.

// Para obtener ejemplos completos y archivos de datos, vaya a 
https://github.com/aspose-cells-cloud/aspose-cells-cloud-dotnet/

// Obtenga las credenciales del cliente de https://dashboard.aspose.cloud/
string clientSecret = "4d84d5f6584160cbd91dba1fe145db14";
string clientID = "bb959721-5780-4be6-be35-ff5c3a6aa4a2";
        
// cree una instancia de CellsApi mientras pasa ClientID y ClientSecret
CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

// primer libro de trabajo de Excel en la unidad
string input_Excel = "source.xlsx";
// nombre del certificado digital
string signature_File = "test1234.pfx";

try
{
    // lea el archivo de Excel y cárguelo en el almacenamiento en la nube
    cellsInstance.UploadFile(input_Excel, File.OpenRead(input_Excel));
    
    // lea el certificado digital y cárguelo en el almacenamiento en la nube
    cellsInstance.UploadFile(signature_File, File.OpenRead(signature_File));

    // inicializar la operación de firma digital
    var response = cellsInstance.CellsWorkbookPostDigitalSignature(input_Excel, signature_File, "test1234");

    // imprimir mensaje de éxito si la concatenación es exitosa
    if (response != null && response.Equals("OK"))
    {
        Console.WriteLine("Digital Signature added successfully !");
        Console.ReadKey();
    }
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

A continuación se presentan los detalles sobre el fragmento de código:

CellsApi cellsInstance = new CellsApi(clientID, clientSecret);

Cree un objeto de CellsApi mientras pasa las credenciales del cliente como argumentos.

cellsInstance.UploadFile(input_Excel, File.OpenRead(input_Excel));    
cellsInstance.UploadFile(signature_File, File.OpenRead(signature_File));

Lea el contenido de Excel de entrada y la firma digital del disco local y cárguelos en el almacenamiento en la nube.

var response = cellsInstance.CellsWorkbookPostDigitalSignature(input_Excel, signature_File, "test1234");

Llame a la API para firmar digitalmente el Excel y guardar el resultado en el almacenamiento en la nube. Tenga en cuenta que el último argumento es la contraseña del archivo de certificado.

El Excel utilizado en el ejemplo anterior se puede descargar desde myDocument.xlsx.

Agregue la firma digital de Excel usando los comandos cURL

Hay varios beneficios de usar el comando cURL y Aspose.Cells Cloud API para la firma digital en Excel. Este enfoque es eficiente y fácil de usar, lo que le permite firmar sus archivos de Excel con pocas solicitudes de API. Esto le ahorra tiempo y esfuerzo, en comparación con la firma manual de cada documento. En segundo lugar, dado que este enfoque está basado en la nube, puede acceder a él desde cualquier lugar e integrarlo fácilmente en sus flujos de trabajo existentes. En general, usar el comando cURL y Aspose.Cells Cloud API para la firma digital en Excel es una solución poderosa y flexible. Agiliza su proceso de firma y mejora la seguridad y confiabilidad de sus archivos de Excel.

Ahora, deberá tener cURL instalado en su sistema y luego generar un token de acceso basado en las credenciales del cliente:

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Use el siguiente comando para cargar la entrada de Excel y la firma digital en el almacenamiento en la nube (debe llamar a este comando dos veces para cargar un archivo individual):

curl -v "https://api.aspose.cloud/v3.0/cells/storage/file/{filePath}" \
-X PUT \
-F file=@{localFilePath} \
-H "Content-Type: multipart/form-data" \
-H "Authorization: Bearer {accessToken}"

Reemplace {filePath} con la ruta donde desea almacenar el archivo en el almacenamiento en la nube, {localFilePath} con la ruta de un Excel en su sistema local y {accessToken} con su token de acceso a Aspose Cloud (generado arriba).

Finalmente, ejecute el siguiente comando para agregar una firma digital al archivo de Excel:

curl -v "https://api.aspose.cloud/v3.0/cells/{excelName}/digitalsignature?digitalsignaturefile={DigitalSignature}&password=test1234" \
-X POST \
-H  "accept: application/json" \
-H  "authorization: Bearer {accessToken}"

Reemplace {excelName} con el nombre del archivo de Excel en el almacenamiento en la nube, {DigitalSignature} con el nombre del certificado digital del almacenamiento en la nube y {accessToken} con el token de acceso generado anteriormente. Después de una ejecución exitosa, el Excel actualizado se almacenará en el mismo almacenamiento en la nube.

Observaciones finales

En conclusión, la firma digital en Excel es un aspecto crítico para garantizar la autenticidad e integridad de sus hojas de cálculo. Por lo tanto, el comando cURL y la API en la nube de Aspose.Cells brindan una forma segura y confiable de firmar sus archivos de Excel mediante programación, lo que le permite ahorrar tiempo y esfuerzo al tiempo que mejora la seguridad y la confiabilidad de sus datos. Con Aspose.Cells Cloud, puede personalizar el proceso de firma de acuerdo con sus requisitos específicos, ya sea especificando la ubicación, configurando la protección con contraseña u otras opciones. En general, este enfoque para agregar una firma digital en Excel es una solución eficiente, flexible y segura que agiliza su flujo de trabajo y le brinda la tranquilidad de saber que sus archivos de Excel son confiables y precisos.

Enlaces útiles

Artículos recomendados

Visite los siguientes enlaces para obtener más información sobre: