Complete guide to integrating digital signatures in your web applications
Smart Web Signer enables secure digital signatures in web applications by bridging browser-based apps with local cryptographic hardware and certificates.
Download the latest version from your dashboard.
# Run as Administrator (right-click → Run as administrator)smart-web-signer-setup.exe
# Follow the installation wizard# Choose installation directory (default: C:\Program Files\Smart Web Signer)# Create desktop shortcut (optional)
On first launch, you'll be prompted to enter your license key:
License Key Format: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Example: ECE3459A7FA1680BB6BFB8B26571C0E113C56E86FA2B26D1CE
| Component | Requirement |
|---|---|
| Operating System | Windows 10 (64-bit) or later |
| Processor | Intel Core i3 or equivalent |
| RAM | 4 GB minimum, 8 GB recommended |
| Disk Space | 200 MB for application |
| Network | Internet connection for activation |
// Get all available certificates
var request = require('request');
var options = {
'method': 'GET',
'url': 'https://localhost.smartwebsigner.com:2070/api/certificates',
'headers': {
}
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
// Sign text data
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://localhost.smartwebsigner.com:2070/api/sign/text',
'headers': {
'Content-Type': 'application/json'
},
body: JSON.stringify({
"originaltext": "Hello",
"certificatethumbprint": "2ba3d890d918814bcf0535b2c51c74113d187fff",
"tsaurl": "http://timestamp.comodoca.com"
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
var request = require('request');
var options = {
'method': 'POST',
'url': 'https://localhost.smartwebsigner.com:2070/api/sign/pdf/file',
'headers': {
'Content-Type': 'application/json'
},
body: JSON.stringify({
"originalpdf": "D:\\Files\\PDF\\original.pdf",
"outputpdf": "D:\\Files\\PDF\\signed223.pdf",
"tsaurl": "http://timestamp.comodoca.com",
"tsa_username": "",
"tsa_password": "",
"reason": "FYK",
"certificatethumbprint": "2ba3d890d918814bcf0535b2c51c74113d187fff",
"signaturepositions": [
{
"page": 1,
"bottom": 360,
"left": 325,
"top": 410,
"right": 545,
"fontsize": 10
}
]
})
};
request(options, function (error, response) {
if (error) throw new Error(error);
console.log(response.body);
});
// Get all available certificates
$.ajax({
url: "https://localhost.smartwebsigner.com:2070/api/certificates",
method: "GET",
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error("Error:", error);
}
});
$.ajax({
url: "https://localhost.smartwebsigner.com:2070/api/sign/text",
method: "POST",
contentType: "application/json",
data: JSON.stringify({
originaltext: "Hello",
certificatethumbprint: "2ba3d890d918814bcf0535b2c51c74113d187fff",
tsaurl: "http://timestamp.comodoca.com"
}),
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error("Error:", error);
}
});
$.ajax({
url: "https://localhost.smartwebsigner.com:2070/api/sign/pdf/file",
method: "POST",
contentType: "application/json",
data: JSON.stringify({
originalpdf: "D:\\Files\\PDF\\original.pdf",
outputpdf: "D:\\Files\\PDF\\signed223.pdf",
tsaurl: "http://timestamp.comodoca.com",
tsa_username: "",
tsa_password: "",
reason: "FYK",
certificatethumbprint: "2ba3d890d918814bcf0535b2c51c74113d187fff",
signaturepositions: [
{
page: 1,
bottom: 360,
left: 325,
top: 410,
right: 545,
fontsize: 10
}
]
}),
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error("Error:", error);
}
});
// Get all available certificates
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Get, "https://localhost.smartwebsigner.com:2070/api/certificates");
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
// Sign text data
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://localhost.smartwebsigner.com:2070/api/sign/text");
var content = new StringContent("{\r\n \"originaltext\":\"Hello\",\r\n \"certificatethumbprint\":\"2ba3d890d918814bcf0535b2c51c74113d187fff\",\r\n \"tsaurl\":\"http://timestamp.comodoca.com\"\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
var client = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://localhost.smartwebsigner.com:2070/api/sign/pdf/file");
var content = new StringContent("{\r\n \"originalpdf\":\"D:\\\\Files\\\\PDF\\\\original.pdf\",\r\n \"outputpdf\":\"D:\\\\Files\\\\PDF\\\\signed223.pdf\",\r\n \"tsaurl\":\"http://timestamp.comodoca.com\",\r\n \"tsa_username\":\"\",\r\n \"tsa_password\":\"\",\r\n \"reason\" : \"FYK\",\r\n \"certificatethumbprint\":\"2ba3d890d918814bcf0535b2c51c74113d187fff\",\r\n \"signaturepositions\":\r\n [\r\n {\r\n \"page\":1,\r\n \"bottom\":360,\r\n \"left\":325,\r\n \"top\":410,\r\n \"right\":545,\r\n \"fontsize\":10\r\n }\r\n ]\r\n}", null, "application/json");
request.Content = content;
var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());
"GET:/api/certificates",
"GET:/api/status",
"POST:/api/sign/pdf/base64",
"POST:/api/sign/pdf/file",
"POST:/api/sign/text",
"POST:/api/verify/pdf/base64",
"POST:/api/verify/pdf/file",
"POST:/api/verify/text"
Possible Causes:
Solutions:
Solution:
Currently, Smart Web Signer only supports Windows. Linux and Mac support is planned for future releases.
There's no limit. Smart Web Signer can access all certificates in your Windows Certificate Store. You can specify allowed certificate thumbprints from your dashboard.
No, you can install the application on any machine with the same license, but the same allowed certificates must be used.
No, you must be connected to our servers during usage for license check.
Yes, Smart Web Signer fully supports PAdES qualified electronic signatures when used with qualified certificates.
Can't find what you're looking for? Our support team is here to help.