Components | All | New | MacOS | Windows | Linux | iOS | ||||
Examples | Mac & Win | Server | Client | Guides | Statistic | FMM | Blog | Deprecated | Old |
PKCS12.SignData
Creates a PKCS#7 signature for given data.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
Certificates | 13.1 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameters
Parameter | Description | Example | Flags |
---|---|---|---|
PKCS12 Reference | The reference to the PKCS12. | $pkcs12 | |
InputType | The type of input. Can be Text, Container, Image, Path, PDF, Data, base64 or Hex. |
"Text" | |
InputData | The actual input data. Text, container or file path. |
"Hello World" | |
InputEncoding | The text encoding for text input. Parameter is ignored for other cases. |
"UTF-8" | |
OutputType | The output type. Can be Base64, Hex, Text, File, Path. Can be Auto in plugin version 7.3 to detect type for container from OutputInfo parameter. Added Base64URL as option for plugin version 10.3. |
"Hex" | |
OutputInfo | The addition info for output. For text it is the text encoding, for file container the file name and for path the actual native file path. |
"" | Optional |
Result
Returns OK or error.
Description
Creates a PKCS#7 signature for given data.Signs the data and returns signature as a PKCS#7 for the given data.
Examples
Manually sign PDF content:
# manually load certificate and key
Set Variable [ $pkcs12 ; Value: MBS( "PKCS12.ReadFromFile"; "/Users/cs/Desktop/test_cert.pfx"; "123456") ]
# sign a test string to know size in advance
Set Variable [ $SampleSignature ; Value: MBS( "PKCS12.SignData"; $pkcs12; "hex"; "C9097E23869BC9903CE89E9562230C6FDCBC0F06"; ""; "hex"; "" ) ]
Set Variable [ $estimatedSignatureSize ; Value: Length($SampleSignature) / 2 + 5 ]
# now save and produce hash
Set Variable [ $hashToSign ; Value: MBS("DynaPDF.SaveAndSignFileExt1"; $pdf; "My ContactInfo"; "My Location"; "My Reason"; "My Signer"; $estimatedSignatureSize) ]
# sign the hash
Set Variable [ $Signature ; Value: MBS( "PKCS12.SignData"; $pkcs12; "hex"; $HashToSign; ""; "hex"; "" ) ]
# and finish the PDF
Set Field [ Merge PDFs::MergeStatus ; MBS("DynaPDF.SaveAndSignFileExt2"; $pdf; $signature; "Merged.pdf") ]
See also
- DynaPDF.Save
- DynaPDF.SaveAndSignFile
- DynaPDF.SaveAndSignFileExt
- DynaPDF.SaveAndSignFileExt1
- DynaPDF.SaveAndSignFileExt2
- PKCS12.ReadFromFile
Release notes
- Version 13.1
- Added PKCS12.SignData function.
This function checks for a license.
Created 28th February 2023, last changed 10th March 2023