How to access windows certificate store in javascript? - javascript

I want to access the windows certificate store through javascript... I want to develop a web application and wants to validate the login user against the certificate by reading it.

As far as I know it is not possible from a web application without using native bridge (fir instance through some java applet or activeX component).
There is currently a W3C working draft for a Web Cryptography API. Some browser vendors are currently working on this API (Mozilla or Microsoft) but it is far from being production ready.

Related

Single Sign On through IE

I'm currently building a web interface that lists a load of data for data entry to peruse through. The website doesn't actually update our back end though. We have a vendor supported custom built Windows application which we use for our data entry.
This web interface is replacing some excel lists + VB. The Excel version of this system is able to pass some data to an already open instance of a custom Windows application and bring into the app a certain ID that's clicked on in Excel, so I'm trying to replicate this from the browser.
So far I'm able to get close by using this JavaScript within IE:
<script type="text/javascript" language="javascript">
function RunFile() {
WshShell = new ActiveXObject("WScript.Shell");
WshShell.Run(pathToApp, 1, false);
}
RunFile()
</script>
But this method I believe tries to open a new instance of the Windows Application. Not access the currently open version. I think looking at the VB code I need to use the windows "sendKeys" method.
It's not something I've ever done before, or needed to do. So It's very new to me.
Is it possible to pass data to an already open Windows app via a browser?
Are there any other options available, I was thinking maybe Electron could help here maybe? Or am I wrong and fighting a losing battle on this front?
Scenario sounds really complex but maybe you should check if this windows app can be integrated with Office Add-Ins.
From their site:
What can an Office Add-in do?
An Office Add-in can do almost anything a webpage can do inside the browser, such as the following:
Extend Office native UI by creating custom ribbon buttons and tabs.
Provide an interactive UI and custom logic through HTML and
JavaScript.
Use JavaScript frameworks such as jQuery, Angular, and
many others.
Connect to REST endpoints and web services via HTTP and
AJAX.
Run server-side code or logic, if the page is implemented using
a server-side scripting language such as ASP or PHP.
In addition,
Office Add-ins can interact with the Office application and an add-in
user's content through a JavaScript API that the Office Add-ins
infrastructure provides.
Web app
The minimal version of a compliant web app is a static HTML webpage. The page can be hosted on any web server, or web hosting service, such as Microsoft Azure. You can host your web app on the service that you choose.
The most basic Office Add-in consists of a static HTML page that is displayed inside an Office application, but doesn't interact with either the Office document or any other Internet resource. However, because it is a web application, you can use any technologies, both client and server side, that your hosting provider supports (such as ASP.net, PHP, or Node.js). To interact with Office clients and documents, you can use the office.js JavaScript API that we provide.

How can I access to USB stick from website?

I'm planning to make a login system by USB, so if you put in a USB-drive and open a specific webpage, the website asks the USB-drive for the code (e.g. by a JavaScript file, a redirect or something like that).
The problem is, because of sandboxing, you can't load or redirect to local files. I don't know a solution for this problem. Can you guys help me? I don't need specific code, just an example or something in that way.
Maybe you can read up on USB-HID. Wikipedia:
The USB human interface device class (USB HID class) is a part of the USB specification for computer peripherals: it specifies a device class (a type of computer hardware) for human interface devices such as keyboards, mice, game controllers and alphanumeric display devices.
Here are some references:
USB HID (Human Interface Device)
node-hid - Access USB HID devices from node.js
DepthJS: 'Allows any web page to interact with the Microsoft Kinect using Javascript'.
A related Stackoverflow question:
Write data to USB HID using Javascript, HTML5, or any cross platform language (supports Android)
One other possibility is to check out the Chrome HID (Human Interface Device) APIs:
Interacting with USB HID devices from web apps – via Chrome Apps, see below
Relevant Chrome API docs
Please note that for the time being, you cannot interact directly with the USB device (i.e. you cannot access any WebAPI offering that kind of fine-grained control).
Building a Chrome App (different from a Chrome Extension) may help; This article may point you in the right direction, since it also provides sample code.
The only way I can think of is putting a html file on the usb stick that essentially generates some sort of login token and gives you a link or a form to a login processor. You can then access the webpage by opening the local file first which will redirect you to the actual webpage.
This local script may include a javascript from the server to get some challenge-response-data which it hashes somehow (perhaps in combination with a password) and puts it into the form data.
Web PKI authentication from Modern Browsers may be achieved by using Browser Extension. One such extension is Signer.Digital browser extension. Use below Javascript promises from the APIs provided by Signer.Digital extension.
SignerDigital.getSelectedCertificate() to register user's certificate
SignerDigital.signHash(hash) to sign token at browser and verify at server
For all Javascript APIs refer to SO Answer https://stackoverflow.com/a/63173083/9659885
Disclaimer : I work for a company supporting the application below
Hello, you may try to use Nexu open-source application for communication with smartcards or USB tokens. It also support PKCS 12 keystores.
For example, the application is connected to the DSS webpage on the website of European Commission : see the link.

Communication between multiple user sessions in HTML5 using Windows Azure notification service

We are building a HTML5 application, we have a need for colloboration between two users the same way as in Google Docs two users can simultaniously edit a document and they can see each others changes.
In our case the document is never stored at server side. And we will only have HTML5 app running in IE10 on XBOX, Windows PC (7 or 8) and Windows Phone (7.5 and 8).
The users will be on same WiFi network.
Where can we find some samples to learn how we can use Windows Azure services/ Mobile services for this scenario.
Thanks,
Navneet
You are probably looking at something like this:
http://laktek.com/2010/05/25/real-time-collaborative-editing-with-websockets-node-js-redis/
For HTML5, you can use Websockets...which can be implemented in Azure using Node.js or using the SignalR (http://signalr.net/) that abstracts websockets/polling in ASP.NET and runs in Windows Azure.

Is It Possible To Use Push Notification Windows 8 Metro App's With Javascript

We have a Windows 8 application which was developed with JavaScript and HTML.
Now, i want to add push notification functionality to our application. But after i some research i realized that only C#, VB.Net, C++ and XAML applications support this feature.
Also because of some reasons we can't use Azure; so i have to develop server-side and host our Windows Servers.
Is there any way to accomplish this?
For the client side please check MSDN documentation here:
http://code.msdn.microsoft.com/windowsapps/Push-and-periodic-de225603
As for the server side, Pushwoosh.com is planning to support win8 push notifications till the end of September.
Javascript apps on Windows 8 are not incompatible with Push Notifications - you have access to all Windows Runtime functionality from Javascript/HTML5 apps.
For example, see http://msdn.microsoft.com/library/windows/apps/Hh465412 "How to request, create, and save a notification channel (Windows Store apps using JavaScript and HTML)" for how to obtain a push channel notification channel in your JS app.

Fingerprint enrollment and verification via browser

I have a digialPersona fingerprint reader and I'm working on a web application which is to have fingerprint enrollment and verification functionalities.
Is it possible to do this via the browser? Is yes, how?
If no, what are the best practices?
-The print reader (Hardware) will have some api reference library for interfacing. You may write Custom ActiveX control in Winforms / C# or C++ (depending the SDK library ref) & load it via Javascript.
-One more option is to use Full trust WPF browser application (XBAP)
NB: Beware of client side privileges settings in these scenarios

Categories