• Category Archives Projects
  • ICVerify end of support | ICVerify alternative software | ICVerify replacement software | ICVerify discontinued

    ICVerify posted June 30, 2016 — End of Support Date. Many software products depending on batch processing of creditcards, using request and answer files, are left stranded with ICVerify end of support and without an alternative.

    We did develop the highly succesfull software product ICVcrypt, which made the software upgrade from ICVerify 4.0 or previous editions to ICVerify 4.2 a seamless integration without reprogramming existing ERP software.

    Now that ICVerify 4.2 is obsolete and existing ERP software products depend on the req and ans file exchange, we decided to build a new software, connecting to the most common authorize.net interface.
    The product will keep the existing format of req and ans file exchange, but transmits the creditcard information securely to the authorize.net portal.

    If you are interested in our new product or if you require additional information, please contact us below or pre-register for the upcoming free trial version:

    DUE TO THE LOW INTEREST WE HAVE CANCELLED THIS PROJECT

    OverSea Network
    PO Box 42
    Murrieta, CA 92564

    info@oversea.net


  • ICVerify 4.2 is not compatible with my software, using older ICVerify 4.0 or 3.0

    Since ICVerify 4.2 uses encrypted data transmitting, many 3rd party developers come across the difficulties of integration. We have developed a software that can accept incoming data requests in old-style format of previous ICVerify 3.0, 4.0 versions and translates and encrypts them into the 4.2 required format.

    Requirements are that you use the ICVerify multi-user platform with a shared folder. Please contact us if you consider migrating from and older ICVerify 3.0, 4.0 version to the new encrypted ICVerify 4.2 version.

    A 60 day trial version is available for download: icvcrypt.


  • RMS not communicating with ICVerify 4.2 after upgrade

    Since ICVerify 4.2 uses encrypted data transmitting, many 3rd party developers come across the difficulties of integration. We have developed a software that can accept incoming data requests in old-style format of previous ICVerify 3.0, 4.0 versions and translates and encrypts it into the 4.2 required format.

    Requirements are that you use the ICVerify multi-user platform with a shared folder. Please contact us if you consider migrating from and older ICVerify 3.0, 4.0 version to the new encrypted ICVerify 4.2 version.

    A 60 day trial version is available for download: icvcrypt.


  • ICVerify 4.1 4.2 integration with Campground Master

    Since ICVerify 4.2 uses encrypted data transmitting, many 3rd party developers come across the difficulties of integration. We have developed a software that can accept incoming data requests in old-style format of previous ICVerify 3.0, 4.0 versions and translates and encrypts it into the 4.2 required format.

    Requirements are that you use the ICVerify multi-user platform with a shared folder. Please contact us if you consider migrating from and older ICVerify 3.0, 4.0 version to the new encrypted ICVerify 4.2 version.

    A 60 day trial version is available for download: icvcrypt.


  • ICVcrypt

    ICVcrypt is a software program that works in combination with ICVerify 4.2. The tool scans credit-card data from an non encrypted folder and encrypts the information for ICVerify to process. The encrypted answer file from ICVerify is being decrypted and made available in the decrypted folder.

    A 60 day trial version is available for download here: ICVcrypt 1.08 download.

    Please note that ICVerify and ICVTnsClient.dll must be properly installed. Contact us if you have trouble installing and registering the software.

    To purchase a license key please contact us at: software@oversea.net. A standard License is available for US$ 150, the Pro version is US$200.

     

    ICVTnsClient is now running in 64bit environments!

    A note on the ICVTnsServer installation: ICVTnsClient cannot communicate with the EncryptionManager in a Win7 64bit environment. ICVTnsServer failed to load an encryption assembly since it is running in mixed mode, therefor 64bit. To solve the issue convert the ICVTnsServer.exe to run in 32bit only with the coreflag.exe /32bit+ command in the .net SDK.

    Please contact us if you have trouble installing the software!

     

    How to Register the DllTlb:

    IMPORTANT: The ICVTnsClient.dll/.tlb files must be located in the same folder where the encryption software runs

    32bit:

    Open COMMAND prompt and switch to folder C:\ICVERIFY\ICVcrypt\ and enter following commands:

    “C:\Program Files\Microsoft.NET\SDK\v2.0\Bin\TlbExp.exe” ICVTnsClient.dll /out:ICVTnsClient.tlb
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe ICVTnsClient.dll /tlb: ICVTnsClient.tlb
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe ICVTnsClient.dll /codebase

    Run mmc
    File->Add/Remove Snap-in
    Add..

    Certificate -> computer account -> local
    Find ICVerify in the root and install
    Install ICVTnsClient certificate

    64bit:

    Open COMMAND prompt and switch to folder C:\ICVERIFY\ICVcrypt\ and enter following commands:

    “C:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin\TlbExp.exe” /win32 /out:ICVTnsClient.tlb /tlbreference:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.tlb /tlbreference:C:\WINDOWS\system32\stdole2.tlb ICVTnsClient.dll
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe ICVTnsClient.dll /tlb: ICVTnsClient.tlb
    C:\Windows\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe ICVTnsClient.dll /codebase

    Stop the ICVTnsServer in services

    Change to folder: c:\Program Files (x86)\Microsoft.NET\SDK\v2.0\Bin>

    Run command:

    corflags c:\icverify\icwin420\icvtnsserver.exe /32bit+

    Start the ICVTnsServer in services


  • Script to shutdown ESXi 5.0 vmWare

    We researched scripts to shutdown ESXi 5.0 and found a solution. We did optimize the script to first shutdown all virtual machines and finally ESXi 5.0.

    Note: Do not upgrade to ESXi 5.1. This version does not allow remote shutdown per script any more.

    Please contact us for any inquiries.


  • ICVTnsClient

    If you have trouble to get the ICVTnsClient Encryption and/or Decryption running, we found the solution. We successfully installed the VBasic .net sample, we did program and implement a xBase software to support Everest 2.1.0, a full enterprise ERP software solution. We are sure we can help you with any integration, wether it is in Foxpro, Delphi or any other programming environment you use.

    Click here for our trial version ICVcrypt.

    Please contact us for details.

    About the Request-and-Answer File Method

    In multiuser/network
    environments, this is the method ICVERIFY
    software and third-party applications use to communicate with the master
    station (in simple terms, the station that is connected to the modem). This
    interface can be used for ICVERIFY.

    Request-and-answer files:

    • Contain one transaction record per line, which
      may be a normal Request file or XML based file
    • Can be virtually unlimited in length
    • Can access any of the ICVERIFY
      commands and functions
    • The request file may be
      encrypted with AES encryption. If the request file is encrypted then the
      answer file will also be encrypted
    • In MasterStation/Substation
      mode the request file generated will always be encrypted
    • Third party application can encrypt the request files and decrypt
      the answer files by integrating with the ICVTnsClient
      library

    Using the Request and Answer File Method:

    To use request and answer files in
    multi-user/network installations:

    Under Windows:

    Select “ICVERIFY Multi User” from the ICVERIFY program group (or run
    ICVMLT32.EXE).

    See the Online user manual for a detailed
    description of this configuration.

    The system on which the multi-user ICVERIFY application is running is defined
    as the master station. The master station will periodically poll a specified
    directory (known as the “request directory”) for request files. This
    directory will be shared with application workstations for networked configurations.

    When the application needs a request
    processed, it creates a request file containing the desired transaction record
    and writes it to the request directory. See Transaction Processing for a
    description of transaction records. ICVERIFY
    reads the file, processes the request and returns a transaction response in an
    answer file (.ANS) in the same directory. The application can then process the
    answer file.

    Request files processed in this manner are
    given the name “ICVERxxx.REQ”, where
    “xxx” refers to a station number. Single-user versions of ICVERIFY support only ICVER001.REQ.
    Multi-user/network installations support ICVER001.REQ, ICVER002.REQ, etc. No
    station should have a number less than 001 nor greater
    than the maximum number of authorized users (versions supporting up to 999
    stations are available).

    Note: Avoid using long file names in the
    path to the request and answer file directory.

    Encrypt
    the Request file by Third Party Application

    .Net
    User

    First create the request file. Now
    create a .Net application.  To add the
    reference of the ICVTnsClient DLL, right click
    References in the Visual Studio .NET Solution Explorer and click Add Reference
    for the Add Reference dialog box. From the Add Reference dialog select the
    ICVTnsClient.dll.

    Now, to encrypt a request string use

     

    a) public string Encrypt(string
    requestContent)

    Here requestContent
    is the string that needs to be encrypted.

    TO ENCRYPT THE STRING:

    (Sample
    code is written in C#.Net)

    // Initialize Tcp Client to communicate with Tns Server

    SslTcpClient sslTcpClient = new
    SslTcpClient();

     

    // File name format that ICVERIFY
    understand for request processing

    string csFileName =
    “\\icver001.req”;

     

    // Request directory path where the plain text request files
    will be

    // read for encryption

    string txtReqDirPath =
    “SourceDir”;

    if (!Directory.Exists(txtReqDirPath))

    {

    Console.WriteLine(“Source
    directory not found.”);

    Console.WriteLine(“Press any
    key to exit …”);

    Console.ReadKey();

    Environment.Exit(0);

    }

    string csReqReadPath = txtReqDirPath + csFileName;

     

    // Shared directory path where file is
    being created.

    string txtSharedDirPath = “EncDir”;

    if (!Directory.Exists(txtSharedDirPath))

    Directory.CreateDirectory(txtSharedDirPath);

    string csSharedDirPath = txtSharedDirPath + csFileName;

    // Request directory
    path where file will be used by ICVERIFY for

    // transaction
    processing.

    string txtReqPath = “ReqDir”;

    if (!Directory.Exists(txtReqPath))

    Directory.CreateDirectory(txtReqPath);

    string csReqPreparationPath = txtReqPath
    + csFileName;

     

    // Check presence of Req files

    if(!File.Exists(csReqReadPath))

    {

    Console.WriteLine(“Req
    file [icver001.req] not found in source directory.”);

    Console.WriteLine(“Press any
    key to exit …”);

    Console.ReadKey();

    Environment.Exit(0);

    }

     

    // Object of StreamWriter

    StreamWriter objWriter = null;

    // Create an empty file in shared
    directory path

    FileStream objFileStream = new
    FileStream(csSharedDirPath,

    FileMode.Create,
    FileAccess.Write);

    objWriter = new
    StreamWriter(objFileStream);

     

    // Open plain text request files for
    reading

    StreamReader objReader = null;

    FileStream objFileReadStream = new
    FileStream(csReqReadPath,

    FileMode.Open,

    FileAccess.Read);

    objReader = new
    StreamReader(objFileReadStream);

    string csStringToEncrypt = string.Empty;

     

    int reqCount = 0; // Counter for the
    number of req lines in source file

    DateTime startTime = System.DateTime.Now;
    // Start time

     

    // Read each line in plain text file and
    call TnsServer for encryption

    do

    {

    csStringToEncrypt
    = objReader.ReadLine();

     

    if
    (!string.IsNullOrEmpty(csStringToEncrypt))

    {

    //
    Encryption Process – Call TnsServer on Master station

    string csEncryptedString =
    sslTcpClient.Encrypt(csStringToEncrypt.Trim());

     

    // Write encrypted request in
    destination file

    if
    (!string.IsNullOrEmpty(csEncryptedString))

    objWriter.WriteLine(csEncryptedString);

     

    reqCount++;

    }

    } while
    (!string.IsNullOrEmpty(csStringToEncrypt));

     

    if (objWriter != null)

    objWriter.Close();

     

    if (objReader != null)

    objReader.Close();

     

    DateTime endTime = System.DateTime.Now;
    // End time

    TimeSpan timeElapsed =
    endTime.Subtract(startTime);

     

    // Once all the encrypt strings have been
    written in file, move that

    // file into the request directory for processing.

    if (File.Exists(csReqPreparationPath))

    File.Delete(csReqPreparationPath);
    // Delete file if present

     

    File.Move(csSharedDirPath, csReqPreparationPath);

    To decrypt the
    generated answer file use

    b) public string Decrypt(string requestContent)

    Here, requestContent
    is the string that needs to be decrypted.

    TO DECRYPT THE STRING:

    (Sample code is
    written in C#.Net)

    // Initialize Tcp Client to communicate with Tns Server

    SslTcpClient sslTcpClient = new
    SslTcpClient();

     

    // File name format that ICVERIFY
    understand for request processing

    string csFileName =
    “\\icver001.ans”;

     

    // Request directory path where the plain
    text request files will be

    // read for encryption

    string txtReqDirPath =
    “SourceDir”;

    if
    (!Directory.Exists(txtReqDirPath))

    {

    Console.WriteLine(“Source
    directory not found.”);

    Console.WriteLine(“Press any
    key to exit …”);

    Console.ReadKey();

    Environment.Exit(0);

    }

    string csReqReadPath = txtReqDirPath + csFileName;

     

    // Shared directory path where file is
    being created.

    string txtSharedDirPath =
    “EncDir”;

    if (!Directory.Exists(txtSharedDirPath))

    Directory.CreateDirectory(txtSharedDirPath);

    string csSharedDirPath = txtSharedDirPath + csFileName;

     

    // Request directory path where file will
    be used by ICVERIFY for

    // transaction processing.

    string txtReqPath = “ReqDir”;

    if (!Directory.Exists(txtReqPath))

    Directory.CreateDirectory(txtReqPath);

    string csReqPreparationPath = txtReqPath + csFileName;

     

    // Check presence of Ans files

    if (!File.Exists(csReqReadPath))

    {

    Console.WriteLine(“Answer
    file [icver001.ans] not found in source directory.”);

    Console.WriteLine(“Press any
    key to exit …”);

    Console.ReadKey();

    Environment.Exit(0);

    }

     

    // Object of StreamWriter

    StreamWriter objWriter = null;

    // Create an empty file in shared directory path

    FileStream objFileStream = new
    FileStream(csSharedDirPath,

    FileMode.Create,

    FileAccess.Write);

    objWriter = new
    StreamWriter(objFileStream);

     

    // Open plain text request files for reading

    StreamReader objReader = null;

    FileStream objFileReadStream = new
    FileStream(csReqReadPath,

    FileMode.Open,

    FileAccess.Read);

    objReader = new
    StreamReader(objFileReadStream);

    string csStringToEncrypt = string.Empty;

     

    int
    reqCount = 0; // Counter for the number of req lines in source file

    DateTime startTime = System.DateTime.Now;
    // Start time

     

    // Read each line in plain text file and
    call TnsServer for encryption

    do

    {

    csStringToEncrypt
    = objReader.ReadLine();

     

    if
    (!string.IsNullOrEmpty(csStringToEncrypt))

    {

    //
    Encryption Process – Call TnsServer on Master station

    string csEncryptedString =
    sslTcpClient.Decrypt(csStringToEncrypt.Trim());

     

    // Write encrypted request in
    destination file

    if
    (!string.IsNullOrEmpty(csEncryptedString))

    objWriter.WriteLine(csEncryptedString);

     

    reqCount++;

    }

    } while (!string.IsNullOrEmpty(csStringToEncrypt));

     

    if (objWriter != null)

    objWriter.Close();

     

    if (objReader != null)

    objReader.Close();

     

    DateTime endTime = System.DateTime.Now;
    //End time

    TimeSpan timeElapsed =
    endTime.Subtract(startTime);

     

    // Once all the encrypt strings have been
    written in file, move that

    // file into the request directory for processing.

    if (File.Exists(csReqPreparationPath))

    File.Delete(csReqPreparationPath);
    // Delete file if present

     

    File.Move(csSharedDirPath,
    csReqPreparationPath);

    C++
    or VB User

    First create the request file. Now create a C++/VB
    application. Use the ICVTnsClient.dll in the following way:

    Generation of .tlb file

    Since the ICVTnsClient.dll is a .NET component .tlb of the same has to be generated and registered using
    regasm.exe (.Net framework tool). This .tlb file has
    to be included in the C++/VB code and a new instance has to be created.

     

    Request File Processing Transition

    The flow chart below describes how the ICVERxxx.REQ gets processed into ICVERxxx.ANS
    file.