Installation
import { Tabs, TabItem } from ‘@astrojs/starlight/components’;
:::note[Useful links]
https://www.ibm.com/docs/en/quantum-safe/quantum-safe-explorer/1.0.x?topic=explorer-installing-quantum-safe-macos
:::
Pre-Reqs
For any installation, in order to use the VSCode plugin, you need to install VSCode.
- OS: Windows 10 or 11 or MacOS
- RAM: 16 Gigs
- OpenJDK 17
- Git Bash (Windows)
Installing VSCode
Make sure you download the system installer
Double click it and install it to this following path
Grab VSCode for MacOS from here
File will be located in your Downloads folder.
Installing OpenJDK
Microsoft’s OpenJDK 17 can be found here
Download it here
Go to your Downloads
folder and double click the microsoft-jdk-17.0.11-windows-x64.msi
file there.
Let it set the JAVA_HOME var and click Next
then click Install
.
Make sure you have openjdk-17 installed.
brew install openjdk@17
If you have other versions of Java installed, you might need to add this to your path:
echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
. ~/.zshrc
Downloading QSE
You can find the required installation files for your OS of choice on IBM’s Passport Advantage. Or if you’re an IBM Employee, you can find it here.
It’s important to note that these files all use the same name
Extract them all to the same folder
File listing
PS C:\Users\Administrator\Downloads\IIQSE0_1.0.1_MP_EN> tree /F
Folder PATH listing
Volume serial number is 1EA9-8239:.
C
├───M0GT5EN.0.1.vsix
│ ibm-quantum-safe-explorer-1
│
├───M0GT6ENcli.sh
│ │ .config
│ │ LicenseAcceptance
│ │ version
│ │
│ ├───la_home
│ │ LA_cs
│ │ LA_de
│ │ LA_el
│ │ LA_en
│ │ LA_es
│ │ LA_fr
│ │ LA_in
│ │ LA_it
│ │ LA_ja
│ │ LA_ko
│ │ LA_lt
│ │ LA_pl
│ │ LA_pt
│ │ LA_ru
│ │ LA_sl
│ │ LA_tr
│ │ LA_zh
│ │ LA_zh_TW
│ │ notices
│ │
│ ├───lib.1.2.jar
│ │ apiguardian-api-1.5.0.jar
│ │ commons-cli-1.15.jar
│ │ commons-codec-1.4.jar
│ │ commons-collections4-4.21.jar
│ │ commons-compress-1.11.0.jar
│ │ commons-io-2.12.0.jar
│ │ commons-lang3-3.6.1.jar
│ │ commons-math3-3.10.0.jar
│ │ commons-text-1.07.jar
│ │ curvesapi-1.10.1.jar
│ │ gson-2.1.jar
│ │ hamcrest-core-1.1.1.jar
│ │ json-simple-1.16.1.jar
│ │ jsoup-1.10.jar
│ │ junit-4.9.0.jar
│ │ junit-platform-commons-1.1.2.202009181115.jar
│ │ license_metric_logger-2.18.0.jar
│ │ log4j-api-2.20.0.jar
│ │ log4j-core-2.2.3.jar
│ │ poi-5.2.3.jar
│ │ poi-ooxml-5.2.3.jar
│ │ poi-ooxml-lite-5.0.1-SNAPSHOT.jar
│ │ quantum-safe-sca-tng-0.7.36.jar
│ │ slf4j-api-1.2.jar
│ │ SparseBitSet-1.42.0.0.jar
│ │ sqlite-jdbc-3.4.1.jar
│ │ tika-core-2.1.1.jar
│ │ xmlbeans-5
│ │
│ └───swidtag.com_IBM_Quantum_Safe_Explorer-1.0.1.swidtag
│ ibm
│
└───M0GT7EN.exe IBM Quantum Safe Explorer
-rw-r--r--@ 1 kramerro staff 35M Jun 26 15:59 IIQSE0_1.0.1_MP_EN(2).zip
-rw-r--r--@ 1 kramerro staff 73M Jun 26 15:58 IIQSE0_1.0.1_MP_EN.zip
-rw-r--r--@ 1 kramerro staff 446K Jun 26 15:58 IIQSE0_1.0.1_MP_EN(1).zip
Unzip them all to the same folder
File listing
➜ QSE git:(ross-updates) ✗ tree
.
├── M0GT4ENpkg
│ └── IBM Quantum Safe Explorer-1.0.1.├── M0GT5EN
│ └── ibm-quantum-safe-explorer-1.0.1.vsix
└── M0GT6EN
├── LicenseAcceptance.config
├── cli.sh
├── la_home
│ ├── LA_cs
│ ├── LA_de
│ ├── LA_el
│ ├── LA_en
│ ├── LA_es
│ ├── LA_fr
│ ├── LA_in
│ ├── LA_it
│ ├── LA_ja
│ ├── LA_ko
│ ├── LA_lt
│ ├── LA_pl
│ ├── LA_pt
│ ├── LA_ru
│ ├── LA_sl
│ ├── LA_tr
│ ├── LA_zh
│ ├── LA_zh_TW
│ └── notices
├── lib
│ ├── SparseBitSet-1.2.jar
│ ├── apiguardian-api-1.1.2.jar
│ ├── commons-cli-1.5.0.jar
│ ├── commons-codec-1.15.jar
│ ├── commons-collections4-4.4.jar
│ ├── commons-compress-1.21.jar
│ ├── commons-io-2.11.0.jar
│ ├── commons-lang3-3.12.0.jar
│ ├── commons-math3-3.6.1.jar
│ ├── commons-text-1.10.0.jar
│ ├── curvesapi-1.07.jar
│ ├── gson-2.10.1.jar
│ ├── hamcrest-core-1.1.jar
│ ├── json-simple-1.1.1.jar
│ ├── jsoup-1.16.1.jar
│ ├── junit-4.10.jar
│ ├── junit-platform-commons-1.9.0.jar
│ ├── license_metric_logger-2.1.2.202009181115.jar
│ ├── log4j-api-2.18.0.jar
│ ├── log4j-core-2.20.0.jar
│ ├── poi-5.2.3.jar
│ ├── poi-ooxml-5.2.3.jar
│ ├── poi-ooxml-lite-5.2.3.jar
│ ├── quantum-safe-sca-tng-0.0.1-SNAPSHOT.jar
│ ├── slf4j-api-1.7.36.jar
│ ├── sqlite-jdbc-3.42.0.0.jar
│ ├── tika-core-2.4.1.jar
│ └── xmlbeans-5.1.1.jar
├── swidtag
│ └── ibm.com_IBM_Quantum_Safe_Explorer-1.0.1.swidtag
└── version
7 directories, 53 files
Installing the Services
PS C:\Users\Administrator\Downloads\IIQSE0_1.0.1_MP_EN> cd .\M0GT7EN\
PS C:\Users\Administrator\Downloads\IIQSE0_1.0.1_MP_EN\M0GT7EN>
PS C:\Users\Administrator\Downloads\IIQSE0_1.0.1_MP_EN\M0GT7EN> & '.\IBM Quantum Safe Explorer.exe'
The following window will pop up. Go with all the defaults.
When installation is complete, the following window will pop up. Click Finish
and allow it to start up the service.
Click Accept
Once it’s running, don’t close the window.
In our extracted directory, run the following command with sudo
and enter your admin password when prompted.
sudo installer -pkg M0GT4EN/IBM\ Quantum\ Safe\ Explorer-1.0.1.pkg -target /Applications
Password:
installer: Package name is IBM Quantum Safe Explorer
installer: Installing at base path /
installer: The install was successful.
Locate the desktop shortcut for IBM Quantum Safe Explorer
and kick it off.
You should see the following windows pop up: Make sure to click Accept
The QSE service should now be running.
Do not close this window as apparently it DOES NOT continue running in the background.
Installing the IBM Quantum Safe Explorer CLI
Simply change directory to where ever you extracted the extension. The cli.sh
file will be used to perform the actual scan. Assuming you unzipped from your \Downloads
directory:
PS C:\Users\Administrator\Downloads\IIQSE0_1.0.1_MP_EN> cd .\M0GT6EN\
Simply change directory to wherever you extracted the extension. The cli.sh
file will be used to perform the actual scan. Assuming you unzipped from your ~/Downloads
directory:
cd ~/Downloads/M0GT6EN
Installing VSCode plugin
If using MacOS, make sure you have the code
cli for MacOS enabled. This is how you do that
Change directory to where ever you extracted the extension
PS C:\Users\Administrator\Downloads\IIQSE0_1.0.1_MP_EN> cd .\M0GT5EN\
Install the extension
PS C:\Users\Administrator\Downloads\IIQSE0_1.0.1_MP_EN\M0GT5EN> code --install-extension ibm-quantum-safe-explorer-1.0.1.vsix
Installing extensions...
Extension 'ibm-quantum-safe-explorer-1.0.1.vsix' was successfully installed.
cd M0GT5EN
Install the extension
code --install-extension ibm-quantum-safe-explorer-1.0.1.vsix
Installing extensions...
Extension 'ibm-quantum-safe-explorer-1.0.1.vsix' was successfully installed.
In your running VSCode instance, click the Extensions
icon in the left-hand side bar and select IBM Quantum Safe Explorer
Click on the settings for the extension
Per the current guide, the following settings must be configured:
Currently as of 1.0.x only localhost
is supported as qs-explorer.hostname
.
The following configuration settings should be followed:
Required settings:
- qs-explorer.hostname – Enter the hostname of the IBM Quantum Safe Explorer API server. Currently only localhost is supported.
- qs-explorer.sourceFileExtensions – Enter the list of source file types to be scanned. For example, .java, .py, and so on.
sourceFileExtensions would be edited in the setting json. They should currently default to the following supported extensions for code scanning:
"qs-explorer.sourceFileExtensions": [
".java",
".jar",
".dart",
".py",
".c"
]
Uninstalling the Services
There is a bug in v1.0.1 uninstall on Windows that will later cause issues when v2.x is installed, please note the instructions below.
For Windows, after running the normal “Remove Programs” to uninstall the QSE service, manually delete the qs-explorer
folder from the user’s home directory. If this is not done and v2.x is later installed, it will cause the scanning to fail.
This is only an issue with the v1.0.1 uninstallation on Windows. This issue has been resolved in the v2.x uninstallation.