2
$\begingroup$

I am curious to know about possibility to login into web application just by identifying the user based on digital signature in usb token.

any reference in this direction?

$\endgroup$
  • $\begingroup$ What do ypu mean by digital signature in usb token? Is there a private key stored on the token? Is it a crypto token? $\endgroup$ – mat Oct 14 at 13:11
0
$\begingroup$

Web application, using modern browsers, may access user's Certificate Store or USB Token or Smartcard (through Certificate Store using CSP in token driver) through Browser Extension.

Methods like java applets, Active X, etc are being phased out from the new Modern Browser offerings. Recently much is being talked about WebCrypto API but as of now, WebCrypto API does not provide access to (Windows) or any other Key stores or local crypto USB/Smartcard device.

For Authentication from Browser using Digital Signature, one such free Chrome extension available is Signer.Digital chrome extension. Local system (host running behind the chrome browser on windows) setup may be downloaded from https://download.cnet.com/Signer-Digital-Chrome-Extension/3000-33362_4-78042540.html Installing this host and restarting Chrome will automatically add Signer.Digital Chrome Extension

The actual working of this extension is illustrated here

Javascript to call method from extension:

To Register Certificate on Server:

//Get Selected Certificate Information 
SignerDigital.getSelectedCertificate()
    .then(
        function (CertInfo) {        
    //Success returns Certificate Subject and Thumbprint
        },
            function (errmsg) {
                //Send errmsg to server or display the result in browser.
              }
     );

To authenticate or Login using Digital Signature:

SignerDigital.signAuthToken(authToken, "SHA-256")       //or "SHA256"
    .then(
        function (SignData) {        //Success returns Signed Auth Token
        },
            function (errmsg) {
                //Send errmsg to server or display the result in browser.
              }
     );

To sign PDF:

    //Calculate Sign for the Hash by Calling function from Extension SignerDigital
    SignerDigital.signPdfHash(hash, $("#CertThumbPrint").val(), "SHA-256")      //or "SHA256"
     .then(
            function (signDataResp) {
              //Send signDataResp to Server
        },
            function (errmsg) {
                //Send errmsg to server or display the result in browser.
              }
     );

If Failed: returns error msg starting with "SDHost Error:"

Disclosure: I work for CISPL which offers Signer.Digital Browser Extension

$\endgroup$
  • $\begingroup$ This is like nothing but a poorly written advertisement. It is better either remove this answer or write in a way that this answer is not a poorly written advertisement. You can do it like mentioning there is/are products with theses capabilities that you might know since you are developing these kinds of products you might know the alternatives, too. A comparison should be included!. And please don't provide link only answers on our site. $\endgroup$ – kelalaka Oct 13 at 8:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.