Mac OS Introduction

Introduction

For creating Mac OS packages of the Trust1Connector for a specific environment you need a couple of assets and configuration files. Some of these are hosted on the Cloud and others are included in the packaging repository. This page will describe the difference between what's hosted in the cloud and what's hosted in the git repository.

Cloud assets

In our cloud storage where we host the released assets to create packages you will have 3 'folders'; mac, win and unix. These folders are used to differentiate between the 3 operating systems supported.
To create a Mac OS package all the necessary configs and assets are hosted in the configurations folder. In a subfolder we created for you, you will find all the assets and configuration files for each version we've released. For example release 3.2.0 can be found in the folder v3.2.0
For each release you will find all necessary assets hosted on the cloud to create a package. These are;
    t1c-api
    t1c-sandbox-service
    t1c-init-se

t1c-api

The t1c-api folder holds a zipfile with the complete Trust1Connector webserver. this includes a prepackaged & optimised JRE that is used to run the webserver.
The JRE included is Java 11LTS.

t1c-sandbox-service

The sandbox service is responsible for the Card communication. this executable needs to be signed with your own code signing certificate.
In this folder you can find a signed and unsigned version of the sandbox-service. The signed version is signed with the Trust1Team code signing certificate.
While packaging we create a copy of the t1c-sandbox-service file to a custom named executable. This is done because this will then show up with a proper name in the task manager and is easy to determine which process to kill while uninstalling

t1c-ini-se

The t1c-init-se is a jar file which is executed at installation and runtime to detect whether the current device has a proxy available. When it detects a proxy it will update the configuration of the installation so that the installation will work in the shared environment.

Local assets

When changing name be aware this could break the installation or running of the Trust1Connector, adjust the places where this is used
In the packaging repository there are 2 different types of folders. You have the configuration folders which holds the configuration files per version and per environment and also the files needed to create the dmg package.
The configuration files can be found in the configurations folder while the packager script for Mac OS are saved in the _mac folder.
Almost all of the configuration can be updated freely. The only exception to this are the application.conf file and the t1c_ks.p12 file. The t1c.conf can be altered, but must contain a valid registration.apikey value, and the correct password for the t1c_ks.p12 file that contains the SSL certificate for your custom package.
For the Mac OS Trust1Connector installer you can find the following assets;
    3.2.0 (version)
      package.bat
      package-proxy.bat
      package.sh
      dev (environment)
        macos (OS)
          api
            application.conf
            t1c_ks.p12
            t1c.conf
            assets
              intro.txt
              intro_de.txt
              intro_fr.txt
              intro_nl.txt
              logo.png
            scripts
              api_Info.plist
              entitlements.plist
              {package-name}.api.plist
              {package-name}.grpc.plist
              grpc_Info.plist
              installer.pkgproj
              post_install.sh
              pre_install.sh
              uninstall.sh

API assets

In this folder you can find all images and text assets to be located in the installer.
The logo.png is the background image of the installer. By default we use an image of 500x500, but this can be customized if desired. A preview of the look and feel of the installer can be seen by opening the installer.pkgproj with the Packages application you can download from http://s.sudre.free.fr/Software/Packages/about.html.
We do not recommend editing the installer.pkgproj file we provided for you. Because of the way the installer script works, the files are all copied over from their original destination into the/_mac folder. Editing the paths configured in the pkgproj folder will break the packaging script.
The intro*.txt files contain the text that will displayed in the package installation window, and can be freely edited.

Dialog logo's

For the dialog logo's we require a 1024x1024 format to properly compile the os dialog applications

API scripts

When creating the package you need to provide some parameter such as the application installation folder name and the application name etc. These need to be updated in the scripts files.
    api_Info.plist: The API service information. Can be edited to reflect application and provider information but care should be taken when editing the CFBundleExecutable and CFBundleName values; these values are repeated in almost all other files in the script folder
    com.t1t.t1c.api.plist: The API launch agent. This file will be renamed to a name of your choice when running the installation script, but should use the convention of using a reversed Internet domain followed by the application name, all in lowercase. This file also contains installation paths and reflect values defined in almost all other files in the script folder.
    com.t1t.t1c.grpc.plist: The Sandbox launch agent. This file will be renamed to a name of your choice when running the installation script, but should use the convention of using a reversed Internet domain followed by the application name, all in lowercase. This file also contains installation paths and reflect values defined in almost all other files in the script folder.
    entitlements.plist: This file contains the entitlements necessary for the Mac OS package. Do not alter it, or the packaged application may not function correctly after installation.
    grpc_Info.plist: The Sandbox service information. Can be edited to reflect application and provider information but care should be taken when editing the CFBundleExecutable and CFBundleName values; these values are repeated in almost all other files in the script folder
    installer.pkgproj: The script for creating the pkg installer package. This file also contains installation paths and reflect values defined in almost all other files in the script folder. It is possible to alter the installation folder, but do not edit the file paths referring to assets and scripts, as it will break the packaging.
    post_install.sh: The post install script which is run after all the resources have been placed in the installation folder.
    pre_install.sh: The script that is run prior to placing the resources in the installation folder. This script ensures that previous installations are correctly removed and killed prior to installing a new version.
Last modified 8mo ago