De acuerdo con sus comentarios a otras respuestas, realmente desea
firme un archivo pdf con [su] certificado, luego guarde esta firma y adjúntela al pdf que acaba de firmar.
(Por cierto, firma con la clave privada asociada con la clave pública en su certificado, no con el certificado en sí, pero eso es un detalle).
Supongo que desea "adjuntar" la firma al PDF de manera que un visor de PDF conforme a la norma (por ejemplo, Adobe Reader) reconozca, muestre y valide como una firma PDF integrada.
En ese caso, ya comenzó mal al firmar el PDF original tal como está y espera que ahora solo tenga que adjuntar de alguna manera esa firma al archivo. En su lugar, debe crear una nueva revisión del documento PDF que incluya un campo de firma AcroForm en PDF cuyo valor sea un diccionario de firmas cuya entrada / Contenidos contenga la firma de toda la nueva revisión con la excepción de < strong> / Contents contenidos de entrada.
SisedebenintegrarvariasfirmasenunPDF,estosehacepormediodeactualizacionesincrementalesdePDF(¡explícitamentenoagregandomúltiplesestructurasSignerInfoaunsolocontenedordefirmasintegradodelCMS!):
Esto se explica de manera bastante gráfica y con más detalle en el documento de Adobe Firmas digitales en un PDF . Además, se especifica en la especificación PDF ISO 32000-1: 2008 disponible en aquí por Adobe en la sección 12.8 Firmas digitales
¡Ten cuidado, sin embargo! La especificación dice:
Un resumen de rango de bytes se computará sobre un rango de bytes en el archivo, que se indicará mediante la entrada ByteRange en el diccionario de firmas. Este rango debe ser el archivo completo, incluido el diccionario de firmas, pero excluyendo el valor de la firma en sí (la entrada Contenido). Se pueden usar otros rangos, pero como no verifican todos los cambios en el documento, no se recomienda su uso.
Esto parece permitir que primero cree una firma para el PDF original y luego agregue una nueva revisión que contenga esa firma que indica que el rango de bytes firmados solo contiene esa revisión original, no la revisión extendida sin solo la firma.
Sin embargo, en realidad, los visores de PDF (especialmente Adobe Reader) solo aceptarán firmas que sigan la recomendación de que el rango firmado debe ser el archivo completo, incluido el diccionario de firmas, pero excluyendo el valor de la firma.
Especificaciones más recientes, por ejemplo, la especificación ETSI PAdES ETSI TS 102 778 (consulte sección 5.1 artículo b en la parte 2 y sección 4.2 en la parte 3 ) haga esta recomendación oficialmente un requisito, y también lo hará ISO 32000-2.
Dependiendo de su contexto de programación, hay muchas bibliotecas de PDF que admiten la creación de firmas de PDF integradas y también muchos productos que utilizan estas bibliotecas. Algunos de ellos incluso están disponibles para asignaturas gratuitas, p. Ej. a la AGPL.