The S-63 PlugIn Version 0.1.0 is now ready for limited Alpha testing.
Since S-63 charts will be a new topic for many users, an introduction
is in order.
The international standard for protection, validation, and distribution of proprietary S-57 ENCs is known as S-63. Among other means of security
, the S-63 scheme uses what is known as a "Userpermit" to associate a particular computer with a set of authorized S-57 compatible chart cells. This is a typical user workflow:
a. Acquire a Userpermit for the target computer. This is a long number that looks something like this:
The Userpermit is tied to a specific computer and ECS software. It is useless if exported and moved to another machine. For example, a Userpermit for OpenCPN will not work for MaxSea
or PolarNavy, or vice versa.
b. Contact an authorized S-63 chart VAR (e.g.ChartWorld Gmbh). Select the desired S-57 chart cells. Give the Userpermit number to the VAR. This is often done online.
c. The VAR will create a set of compressed and encrypted ENCs specific to your Userpermit. The key file in this set is called "PERMIT.TXT". This file contains a set of cell permits which will unlock the purchased cells. These charts will be unusable on any computer or ECS software other than the one associated with your Userpermit.
d. Install the new chart cells on your computer by accessing or importing the file "PERMIT.TXT" in your chart navigation
software (e.g. OpenCPN).
e. Use the charts as any other vector (S-57) chart.
So, now onwards to testing.
Due to the encrypted nature of S-63 chart sets, generic testing of S-63 chart support is more complicated. Fortunatley, the administrators of the S-63 scheme recognize this problem, and have made available a test set solution. This testing mechanism is known as "The IHO S-64 Test Data Sets for S-63 Encrypted ENCs", herinafter referred to as the "S-64 Test Set". Among other things, the S64 Test Set contains a number of test scenarios to validate the system decryption capabilities and cell integrity, Documentation is included in the Test Set.
that the S-63 scheme associates a particular encrypted chart cell with a specific computer, by means of the Userpermit. So, you may wonder how the S-64 Test Set would be useful, if it was created with a particular Userpermit in mind. Here is how that works: In order to be usable by anyone, the S-64 Test Set incorporates a well-kown, published "Test Userpermit". All ECDIS/ECS system vendors wishing to support the S-64 Test Set agree apriori to recognise the "TestUserpermit" as always valid, and will not require any specific machine hardware
installation check. Thus, the Test Set will be accessable to any conforming S-63 implementation, including OpenCPN.
The well-known Test Userpermit is: "66B5CBFDF7E4139D5B6086C23130"
Alpha testing of the OpenCPN S63 PlugIn is accomplished thus:
1. Download and install OpenCPN Beta Version 3.3.1303 or later.
2. Download the S63 Plugin for your particular architecture (Windows, linux, or Mac)
3. Install the S63 PlugIn, according to your system type.
a. Windows: Run the s63_pi_0.1.0_setup.exe application.
b. linux: Install the s63_pi/build/s63_pi_0.1.0-_i386.deb using dpkg, viz.
$sudo dpkg --install s63_pi_0.1.0-_i386.deb
c. Mac: Right-click->Show Package Contents of your installed runtime OpenCPN in Finder. Copy the entire directory "s63_pi" (from the downloaded s63 PlugIn .dmg) into the OpenCPN "PlugIns" directory.
4. Download the S-64 Test Set
ECDIS TEST DATA SETS
5. Start OpenCPN as normal.
6. Options->PlugIns->Enable the S63_pi.
a. Navigate to "Options->Charts->S63 Charts->Import Cell Permits...".
b. In the Userpermit dialog, enter the Test Userpermit as given above. Copy/Paste is probably easiest here. Click the "Test" button to validate your Userpermit against your computer. Note that the Test Userpermit is by definition valid for any machine. A valid Userpermit is saved in the OpenCPN configuration file, so only needs to be entered once.
c. In the File selection dialog, navigate to a "PERMIT.TXT" file in any test scenario of the S-64 Test Set previously downloaded. Many test scenarios are included, with lots of information in the documentation.
Perhaps the best to start with is:
IHO S-64 [S-63 TDS v1.2]/8 Data Exchange Media/Test 8b/PERMIT.TXT
This scenario will import
permits and chart cells for ten individual charts, all interesting.
d. You will note that while the S63 PlugIn is importing cells, the screen dialog contains a window pane showing debug information on the process. This debug pane is called "S63_pi Log" In case of difficulties, a screen shot of this logging/debug window will be critical to analyzing the fault.
8. Test the imported S-63 chart cells as you would any other S-57 charts.
1. The S63 PlugIn distribution contains two files:
a. The PlugIn dynamic library iteslf. This library is Open Source (GPL2). The source is available on github. https://github.com/bdbcat/s63_pi
b. OCPNsenc, an executable "helper" application. OCPNsenc is closed source, and handles all of the the sensitive S-63 decryption keys and mechanisms. The OCPNsenc binary is included in the s63_pi github source tree, and treated as a "binary blob". OCPNsenc runs as a separate process from OpenCPN, and communicates only by means of the native command line interface and file system. In this way, it may be distributed as a closed source element of an open source project