ASP.NET Web Forms samples project
The ASP.NET Web Forms samples project shows how to use Rest PKI together with Web PKI on a project using ASP.NET Web Forms. It is hosted on GitHub at:
https://github.com/LacunaSoftware/RestPkiSamples/tree/master/CSharp/WebForms
Running the project
- Download the project or clone the repository
- Open the project folder (
CSharp\WebForms
) - Open the solution file (.sln) on Visual Studio
- Generate an API access token on the REST PKI website
- Paste your access token on the file
web.config
- Run the solution. Make sure your system allows automatic Nuget package restore (if it doesn't, manually restore the packages).
Project map
This section lists where to find the relevant parts in each feature sample on the project.
Authentication with digital certificate
- Web Forms:
- JavaScript: signature-form.js
PAdES signature with file already on server
- Web Forms:
- JavaScript: signature-form.js
PAdES signature with file uploaded by user
After the file upload (which is crudely implemented merely for demonstration purposes on the Web Form
Upload.aspx
and on its code-behind
Upload.aspx.cs)
is done the control flow is the same as in the sample PAdES signature with file already on server, but with the URL parameter userfile
filled.
PAdES co-signature
After the control flow of the sample PAdES signature with file already on server is completed and the link Co-sign with another certificate is clicked, the
same control flow is repeated, but now with the URL parameter userfile
filled.
PAdES marks
This feature is demonstrated as an optional configuration on the PAdES signature with file already on server sample which by default starts commented out. To enable it, uncomment the following line on PadesSignatureController:
signatureStarter.PdfMarks.Add(PadesVisualElements.GetPdfMark(1));
Tip
Try changing the argument to the GetPdfMark(int)
method to see different PDF mark configurations
The relevant code is on the class PadesVisualElements, method GetPdfMark(int)
.
PAdES signature using server key
Not yet available on this project.
PAdES signature without client communication
Not yet available on this project.
Open/validate an existing PAdES signature
Not yet available on this project.
Printer-friendly version
After the control flow of the sample PAdES signature with the file already on server is completed and the link Download a printer-friendly version of the signed file is clicked,
the flow goes to the web form:
PrinterFriendlyVersion.aspx
and to its code behind
PrinterFriendlyVersion.aspx.cs
with the URL parameter file
filled.
The generated PDF contains links to the web form: Check.aspx and to its code behind Check.aspx.cs, which shows details of the signatures.
CAdES signature with file already on server
- Web Forms:
- JavaScript: signature-form.js
CAdES signature with file uploaded by user
After the file upload (which is crudely implemented merely for demonstration purposes on the Web Form
Upload.aspx
and on its code-behind
Upload.aspx.cs)
is done the control flow is the same as in the sample CAdES signature with file already on server, but with the URL parameter userfile
filled.
CAdES co-signature
After the control flow of the sample CAdES signature with file already on server is completed and the link Co-sign with another certificate is clicked, the
same control flow is repeated, but now with the URL parameter cmsfile
filled.
CAdES signature using server key
Not yet available on this project.
Open/validate an existing CAdES signature
Not yet available on this project.
XML signature of the entire document
Not yet available on this project.
XML signature of an element
- Web Forms:
- JavaScript: signature-form.js
XAdES signature of an element
Not yet available on this project.
Open/validate signatures on an existing XML file
Not yet available on this project.
Batch of PAdES signatures
- Web Form: BatchSignature.aspx
- JavaScript: batch-signature-form.js
Optimized batch of PAdES signatures
- Web Form: BatchSignatureOptimized.aspx
- JavaScript: batch-signature-optimized-form.js
Batch of CAdES signatures
Not yet available on this project.
Batch of XML signatures of elements on the same document
Not yet available on this project.