Discuss this help topic in SecureBlackbox Forum

General notes

Please check What's New in this version.

All editions

Two new packages, CloudBlackbox and OfficeBlackbox, have been added to the distribution. Packages can be purchased separately or as parts of SecureBlackbox Professional, Data Security and Transport packages.

.NET Edition

Security-related components were moved from SecureBlackbox.XML assembly to SecureBlackbox.XMLSecurity. Please update the reference lists of your projects and installation packages.

VCL Edition

Security-related components were moved from XMLBBox package to XMLBBoxSec.

Upgrading your project from SecureBlackbox 7 to SecureBlackbox 8 (ActiveX edition)

SecureBlackbox 8 (ActiveX edition) introduces certain changes to the components' declarations. The changes are caused by the need of making it possible for two or more different versions of SecureBlackbox installed on the same machine to work together without conflicts. Shouldn't the declarations have been updated, any SBB7-based product deployed to a client's machine after deployment of your SBB8-based product would override your installation of SBB, leading to incorrect work of your product. However, as SBB8 declarations are completely new and independent from the earlier versions, you may feel confident about the integrity of your product.

1. Changes: summary

The following changes have been introduced:
  1. The names of the libraries have been changed from SomeBBox7.dll to SomeBBox8.dll.
  2. Version numbers and UUIDs of the libraries have been changed. The table below shows the differences between SBB7 and SBB8 properties of the libraries:
  3. All the UUIDs of the coclasses (components and controls) have been changed. New values for the UUIDs can be obtained from the corresponding type libraries.
  4. A number of new, updated, interfaces have been introduced. New interfaces that extend the functionality of existing components are named ISomeComponentX8 and are derived from the existing ISomeComponentX interfaces. The existing interfaces (ISomeComponentX) have been kept intact, minimizing the changes you have to introduce to your code.

We will use "SomeBBox7" and "SomeBBox8" names as substitutions for the real names of all SecureBlackbox libraries. I.e., the phrase "replace all entries of SomeBBox7.dll with SomeBBox8.dll" actually means "replace BaseBBox7.dll, SSLBBoxCli7.dll, SSLBBoxSrv7.dll, SSHBBoxCli7.dll, SFTPBBoxCli7.dll, PGPBBox7.dll with BaseBBox8.dll, SSLBBoxCli8.dll, SSLBBoxSrv8.dll, SSHBBoxCli8.dll, SFTPBBoxCli8.dll, PGPBBox8.dll accordingly".

2. I am using Visual Basic 6. What should I change in my project?

Visual Basic uses IDispatch interface when dealing with COM components. This means that it accesses components, along with their properties and methods, using their names and not the exact declarations. That's why the only thing that you have to change in most cases is the parameters of the library being referenced. Just do the following for each .vbp, .frm, .cls and .bas file of your project:

  1. Open it with some text editor (e.g. Notepad).
  2. Update each line containing an "Object" declaration:
    Object = "{E91A8458-BB00-4B54-8C22-CF338094F081}#7.0#0"; "BaseBBox7.dll"
    Object = "{2A486285-0C52-4069-8D0C-4E5EB6433DE0}#8.0#0"; "BaseBBox8.dll"
    Perform the update for all the lines referencing SecureBlackbox DLLs (BaseBBox7.dll, SSLBBoxCli7.dll, SSLBBoxSrv7.dll, SSHBBoxCli7.dll, SSHBBoxSrv7.dll, PGPBBox7.dll). Use the UUID values from the table above.
  3. Perform a global search-and-replace of "SomeBBox7" substring with the corresponding "SomeBBox8" one.
The above steps are enough for most of the VB6 projects.

3. What do I have to change in my C++ project?

The exact changes depend on the method in which COM objects are used in your project. Anyway, all the changes to be introduced to your project are actually a reflection of the changes in the declarations of SBB coclasses and libraries. In particular, the following should be done:

  1. Replace the references to SomeBBox7.h and SomeBBox7_i.c files with the corresponding references to SomeBBox8.h and SomeBBox8_i.c.
  2. Replace the parameters of #import directive from SomeBBox7.dll to SomeBBox8.dll.
  3. Replace SBB7 UUIDs passed to CoCreateInstance() calls with the corresponding SBB8 UUIDs. This step should not be done if your code takes UUID values from SomeBBox7.h and SomeBBox7_i.c files, as the updated SomeBBox8.h and SomeBBox8_i.c files do already contain new UUIDs.

Please feel free to contact us if you are having problems upgrading your project to SBB8.


Discuss this help topic in SecureBlackbox Forum