Need to digitally sign a program but have no USB token physically attached to your PC? No worries! We’ll tell you how to easily connect to your USB device remotely and access it’s contents like it was plugged directly into your computer.
In this article, we’ll cover the following topics:
- What is code signing?
- The problem of remote access to USB security dongles.
- Third-party software for remote access to USB tokens.
- Alternative solution with a unique Multi-connect feature.
- Redirecting USB to the cloud.
What is code signing?
As is known, software providers tend to digitally sign executables and scripts in order to protect their products from being corrupted.
Code signing is a common way to confirm the software author and assure users of software integrity. The authentication mechanism that is generally used is based on the underpinning signing keys.
It is of utmost importance for software providers to protect their private keys against unauthorized access. One of the most reliable ways to secure signing keys is to store them in cryptographic hardware devices like USB tokens (or USB dongles).
Code signing - best practices.
The problem of remote access to USB security dongles
As a software developer, you may face the need to access a USB token remotely. If your dongle is physically connected to an office computer, it seems rather challenging to use it while working from home.
Also, not rare are the cases when a group of developers shares the same USB token containing a code signing key. Given that the device can only be attached to one computer at a time, it’s not that convenient to constantly switch it between machines.
Below we will cover the most popular and simple ways to remotely access a USB token and sign your software app. What’s more, we’ll highlight a solution that allows you to connect to one USB dongle from multiple computers simultaneously. Read on to learn more.
USB Network Gate - a software solution for remote access to USB tokens
Whether you want to use a local USB token to sign a file on a remote machine or connect to a remote USB dongle from your local PC, USB Network Gate comes to the rescue.
With USB Network Gate, can remotely use your Code Signing Certificate for signing a script, code, software, or any other executable file.
The software is powered by advanced USB port virtualization technology that makes it possible to share any real USB port over the network. After being shared in the user-friendly software interface, the port can be accessed from a remote machine. What’s important you can access the device attached to the shared port as well. Every new device you physically connect to this port becomes shared automatically.
When you connect to the shared device from a remote computer, the device appears in your system like a local one. The functionality and contents of the remote USB dongle is available to you no matter how far you are from the real device.
Thanks to its powerful features and the simplicity of use, USB Network Gate has become an indispensable tool for many.
The key advantages of USB Network Gate over any similar software solution:
- Cross-platform compatibility. Shared on Windows, a USB token can be available for remote Windows, Mac, and Linux users. The software supports all major operating systems.
- Support for the Remote Desktop Protocol. You can rely on this software in your remote desktop session.
- Traffic encryption. This is probably one of the most crucial factors when it comes to sharing USB tokens over LAN or the Internet. With USB Network Gate, you can be sure that your sensitive data is reliably protected when you establish a connection to your USB dongle over the network.
Now let’s see how to sign files on your local computer if you don’t have your USB token at hand.
* A machine to which your device is connected physically is referred to as USB Network Gate Server. USB Network Gate Client is any machine from which you connect to a shared device remotely.
What you should do on the server computer:
- Install USB Network Gate on your PC (Mac, or Linux machine).
- Connect a USB token, which you want to share with remote computers, to a USB port of your local machine.
- Launch the app and head to the Local USB Devices tab. You will see the list of all devices being currently attached to this computer.
- All you need to do is find the required token and click the Share button next to its name.
Now, this token is available for access from a remote computer!
Note: As an option, you can enable authentication and set a password that will protect your device from undesired connections.
What you should do on the client computer:
- Install the app, start it, and go to the Remote USB Devices tab. All devices that are currently shared using USB Network Gate will be displayed there.
- From all the devices, select the one you need and click Connect.
This is it!
Now the remote USB token will appear in the Device Manager of your PC and you will be able to use it like it was physically connected to your computer.
An alternative solution with a unique “Multi-connect” feature
Another solution we would like to tell you about is a popular software tool capable of sharing USB dongles over the Internet with several remote users at a time.
Donglify is a dedicated software app that works with licensed USB security dongles. The program makes it possible to share hardware USB keys in such a way that they become available for connection from several computers simultaneously.
The software offers the “Multi-connect” feature thanks to which the same USB token with a code signing key can be used by multiple developers at a time.
Here’s how it works:
- You register a Donglify account and download the program on the computer (server) to which your USB token is connected directly.
- Install the app on this PC and all machines that will connect to the device over the Internet.
- Once done, launch Donglify on the server computer and log into your account.
- In the window that will open, click the “Plus” icon. This will open the list of the locally-attached USB dongles.
Note: If the dongle that you want to share is shown with the ‘Multi-connect” icon, it means several computers can connect to it simultaneously. If you see the “Single-connect” icon next to your dongle’s name, this dongle will be available for connection from only one PC at a time.
- Select the USB dongle you need and click the Share button in the bottom-right corner.
- After that, connect to this dongle from a client computer. To do this, launch the app and sign in to the same account you used on the server computer. You will see all devices that have been shared on the server. Select the one you need and hit Connect.
Currently Donglify provides support for the following USB dongles: HASP HL 2.16, HASP HL Pro 3.25, Sentinel HL 4.34, Sentinel UltraPro, Sentinel HL 4.27, Sentinel HL 4.31, Sentinel HL 4.54, Hardlock USB 1.02, Feitian Technologies ROCKEY Dongle, SafeNet eToken 5110, and CodeMeter CmStick.
Forwarding USB to the cloud
Another option is to use a USB redirection solution to forward a USB security dongle to a cloud environment. The software tool you can utilize will depend on what operating system you use and what project you build. Taking into account the pros and cons of major solutions in the market, USB Network Gate by Electronic Team seems to be able to cope with this task best.