Install Software License Configuration Profile
Software license keys for recent versions of software from Twocanoes are installed with a configuration profile. The configuration profile can either be installed with a Mobile Device Management server, manually, or directly in the preferences on macOS. This article outlines how to install a configuration profile, unsigned the profile, and deploy with defaults command. If you manage Macs with an MDM service, it is recommended that you deploy licenses with the MDM service as a profile or using the defaults command. Please provide the mobileconfig file to your MDM administrator for deploying.
Manual Profile Installation
For a small number of Macs or for testing, you can manually install the configuration profile by following the instructions below.
Install License
- Download MDS or XCreds license profile
- Go to System Settings > General > Device Management

- Double-click on MDS or XCreds license profile
- Select Install

- Select Install again when the confirmation window appears

- Enter your admin credentials to allow the license installation

MDM
The MDS and XCreds licensing system uses macOS profiles to distribute licenses via MDM, and does not require individualized licenses for each system. A single profile can deploy a single license file to each user that will provide a license for all covered clients.
Some MDMs do not support signed profiles or separate profiles for settings for the same application. The following is an explanation on how our licensing profile works.
Other Options
Unsigning Profile
The license file provide by Twocanoes is digitally signed, which can make it difficult to view. The signing on the configuration profile is not required for the license to be valid. Profiles are signed so MDM administrators can be confident that the profile has not been modified. To remove the signing, run the folllow command in terminal, assuming the license is named “license.mobileconfig” and is on the current user’s desktop:
security cms -D -i ~/Desktop/license.mobileconfig
This command will output the profile without signature. To save the output to a file that is unsigned, you can redirect the output to a file. For example, to save the unsigned profile to a file called “license_unsigned.mobileconfig” on the current user’s desktop:
security cms -D -i ~/Desktop/license.mobileconfig > ~/Desktop/license_unsigned.mobileconfig
The file “license_unsigned.mobileconfig” is now unsigned and can be opened with a text editor or deployed with an MDM that does not support signed profiles.
Deploying License with Defaults command
If deploying the Twocanoes license is not possible as a configuration profile, the license data can be written to the preference on macOS and the application will have access to it:
- Unsign the license as shown above
- Open the unsigned license in a text editor
- Copy the app bundle id (under the second “Payload Content” and it starts with “com.twocanoes.xcreds”) and the Base64 data between <data> and </data> for the LicenseFile key:

- Copy the base64 data from the text editor and run the following command to convert to base64 data to hex data:
pbpaste | base64 -D | xxd -p -c 0
You will see hex data as the output. Copy this data as it will be used in the defaults command.
- Run the following command to set the license key on the target mac. It is typical to install for All users, since this makes the preferences available for all users including processes that run as the system user, such as XCreds.
- Installing the XCreds license as as specific user will prevent XCreds at the Login Window from using the license. Install the XCreds license as “All users” as shown below.
All users:
sudo defaults write /Library/Preferences/<app bundle id from step 1>.plist LicenseFile -data '<HexData from step 4>'
Specific user (DO NOT INSTALL AS A SPECIFIC USER FOR XCREDS OR OTHER APPS THAT RUN AS SYSTEM)
(run this command as the user that requires the license)
defaults write ~/Library/Preferences/<app bundle id from step 1>.plist LicenseFile -data '<HexData from step 4>'
Example for deploying a license for all users for xcreds:
sudo defaults write /Library/Preferences/com.twocanoes.xcreds.plist LicenseFile -data '313233343536383930313233343536383930313233343536383930313233343536383930313233343536383930313233343536383930313233343536383930313233343536383930313233343536383930313233343536383930313233343536383930313233343536383930313233343536383930313233343536383930'
Note the data shown above is not an actual license
- Verify the license file shows up by reading the defaults and verify it shows up as binary data:
defaults read /Library/Preferences/<app domain>.plist LicenseFile
For example:
defaults read /Library/Preferences/com.twocanoes.xcreds.plist LicenseFile
{length = 921, bytes = 0x3c3f786d 6c207665 7273696f 6e3d2231 ... 2f706c69 73743e0a }