Stripes
Logo
Home Products Services Download Support About Us
LicenseControl - Frequently Asked Questions
  1. What customer/purchase information is supplied to Derman Enterprises Inc. by Kagi when a product is purchased?

  2. What information is supplied to the licensing server?

  3. I was moving a licensed product to another system and forgot to relinquish the license before I deleted the licensed product. How do I solve this problem?

  4. The disk/motherboard/etc. failed on the system that contained the licensed software and it's not worth replacing. How do I get my license relinquished so I can use it on the replacement system?

  5. How is the licensing information communicated when I perform licensing operations automatically?

  6. How do I verify that the licensing operations are communicating only the information that's shown?

  7. Can I run a licensed product from a server?

  8. I reset the permissions throughout the licensed application and now it won't run. How do I solve this problem?

  9. I'm having problems communicating with the licensing server, what should I check?

  10. I administer multiple LicenseControl'd systems. Can LicenseControl make this easier for me?

1. What customer/purchase information is supplied to Derman Enterprises Inc. by Kagi when a product is purchased?

We receive the following information from Kagi for each purchase completed via Kagi
[documented below as Name as Received: description (original source: name)]:

  • Payment fee received: for each sales line item, provides the quantity, item description and line-item total sales amount (Kagi order: Product, Quantity, Subtotal)
  • Registered-To: customer's name (Kagi order: Full Name)
  • Email: customer's email address (Kagi order: E-Mail Address)
  • Postal: customer's postal address (Kagi order: Postal/Street Address, City, State/Province, Zip/Postal Code and Country)
  • Total Amount Paid: total sales amount (Kagi order: Total)
  • Date: date the order was made (Kagi confirmation page: Order Date)
  • Processed: date the sale was processed (no visible Kagi counterpart)
  • PaymentMethod: payment method; i.e., "card" (no visible Kagi counterpart)
  • Invoice: Kagi's invoice number (no visible Kagi counterpart)
  • TransactionID: Kagi's Transaction ID (Kagi confirmation page: Transaction ID)
  • Route: unknown routing information; e.g., S7A1AX0R1 (no visible Kagi counterpart)
  • Comment: customer-entered comment (Vendor order page: ...comments for the supplier...)
  • Note: connection information; e.g., SSL from 216.232.85.25 via KOOP 3.6ben for supplier 24X. (no visible Kagi counterpart)

Note that this information does not include any credit-card information.

In addition, the complete body of the "Thanks for your payment" email is also received. FYI, the part that begins with "Thank you for purchasing <product name>..." was supplied by us, to Kagi.

Up

2. What information is supplied to the licensing server?

The following items are formatted as:

  • Name Presented: description (number of characters in length)

The Re/License Request, which is required by the licensing server to generate a License code, contains the following information:

  • Re/License Request Version: so we can support changes, over time (3)
  • the Re/License ID:
    • Re/License ID Version: so we can support changes, over time (3)
    • Purchased Product Name: the license's product identifier (16)
    • Purchased Product Version: the license's product version number (16)
    • Purchased License Kind: the kind license (4)
    • Purchased License/Relicense Serial: the license/relicense serial number (22)
  • Requesting Product Name: the licensed product's identifier (16)
  • Requesting Product Version: the licensed product's version number (16)
  • Requesting Week Number: the week the request was made (6 - YYYYWW)
  • the System ID (see detail below)
  • Checksum: a checksum* to (doubly) ensure the validity of the transmitted data (10)

The Unlicense Request, which is required by the licensing server to generate an Unlicense code, contains the following information:

  • Unlicense Version: so we can support changes, over time (3)
  • License: the License previously generated and received from the licensing server (this is encrypted and so is variable in length)
  • Requesting Week Number: the week the request was made (6 - YYYYWW)
  • the System ID (see detail below)
  • Checksum: a checksum* to (doubly) ensure the validity of the transmitted data (10)

The Unlicense Confirmation, which is required by the licensing server to relinquish/return a License, contains the following information:

  • Unlicense Confirmation Version: so we can support changes, over time (3)
  • License: the License previously generated and received from the licensing server (this is encrypted and so is variable in length)
  • Confirmation ID: the Unlicense Confirmation identifier (32)
  • Requesting Week Number: the week the request was made (6 - YYYYWW)
  • the System ID (see detail below)
  • Unlicense Date: the date of the unlicensing (8 - YYYYMMDD)
  • Checksum: a checksum* to (doubly) ensure the validity of the transmitted data (10)

In the above:

  • the System ID:
    • System ID Version: so we can support changes, over time (3)
    • Requesting MAC Address: the motherboard-based ethernet MAC address (12)
    • Requesting System's ID: the system serial and/or order number (48)
    • Requesting System's Kind: the system kind (24)
    • Requesting System's Model: the system model (24)

Some items worth noting:

  • no information related to users or (other) applications is required or captured

  • a true ethernet MAC address is unique for every ethernet interface ever made and is something that's sent as a part of network packets, so it's always available to any system with which you network (Windows violates this rule and reports MAC-style addresses that it creates "ad hock")

  • not all systems have a serial number and/or an order number

  • all System ID information we capture is available via normal operating-system interfaces

See the instructions on how to capture and verify the information being sent to the licensing server.

* The checksum is a value that is computed from an aggregate of other values in a specific way. A checksum is designed such that there is a very low probability of different values producing the same checksum. We are using an industry-common approach; a checksum is computed, attached to information being transmitted, extracted upon receipt, a new checksum computed and compared to the transmitted checksum ... differences indicate data corruption, including tampering. In addition, the networking mechanisms also employ similar strategies.

Up

3. I was moving a licensed product to another system and forgot to relinquish the license before I deleted the licensed product. How do I solve this problem?

Assuming the previously licensed system is still available, the following steps will remedy this situation:

  1. either restore the application from backup or simply download/re-install the product or a license-compatible product (e.g., a newer release that's license-compatible) on the system where it was previously (and still is) licensed

  2. relicense the restored or re-installed product by pressing the "Retrieve and Install an Existing License" button (the License ID, received at purchase, is not required)

  3. relinquish the license

At this point, the license is available to be reused on another system. The License ID, received at purchase, will be required.

If the previously licensed system is no longer available, see this item regarding failed systems.

Up

4. The disk/motherboard/etc. failed on the system that contained the licensed software and it's not worth replacing. How do I get my license relinquished so I can use it on the replacement system?

In this situation, please contact us with the following information:

  • the License ID received at purchase time

  • the kind and model of system upon which the software was previously installed

  • the ethernet/MAC addresses for your system

    • Macon a Mac OS X system:

    • open a Terminal window

    • type "ifconfig | fgrep ether" (without the double-quotes) and press the Return key (the vertical bar symbol is the one above the \ character on Mac keyboards)

    • PCon a PC/Windows system:

    • open a Command window

    • type "ipconfig/all" (without the double-quotes) and press the Enter key

  • if known, the original purchaser's information (ideally, the message you received when you purchased the software from Kagi)

Because the original Code, received at purchase time, is equivalent to a password to your "license bank" on the licensing server, it is important to keep the code appropriately secured.

Up

5. How is the licensing information communicated when I perform licensing operations automatically?

When choosing to perform licensing operations automatically, communication between your system and the licensing server uses a minimal number of HTTP (web) packets via port 80 (the normal web port) or HTTPS (secure web) packets via port 443 (the normal secure web port).

You can verify the information being communicated by following these steps.

Up

6. How do I verify that the licensing operations are communicating only the information that's shown?

PCOn a PC/Windows system, you can perform the equivalent sequence of steps documented below for a Mac OS X system, but you will need to have a packet-sniffing application on your PC as this capability is not included with Windows. There are free applications are available for Windows that can accomplish this task.

MacIf you have administrative privileges capability for the system, the following steps will enable you to "sniff"/capture the network packets communicated between your system and the licensing server:

  • use the "Licensing..." menu to open licensing window

  • if you are generating an initial licensing request, supply the License ID you received when the product was purchased (e.g., copy paste from your receipt email)

  • bring up a Terminal window (launch /Applications/Utilities/Terminal)

  • issue the command:

    • sudo tcpdump -pxX -s 0 host www.derman.com

    • wait for the response "tcp listening on..."

  • switch back to licensing panel and press the applicable button to generate a the licensing or unlicensing request

  • when the communication has completed, return to the Terminal window and type Ctrl-C to stop the network packet capture

  • the Terminal window now shows the packets captured as a result of the licensing or unlicensing transaction

    • scroll back to the beginning of the packet capture (the "tcp listening on..." line)

    • the initial, shorter packets are TCP/IP handshaking (for detailed information, type "man tcpdump" in a terminal window)

    • search the ASCII "dump" area on right for "licReq=" and you'll see the licensing or unlicensing request information that was sent to the license server

    • you can compare this to the documentation in FAQ #2, above

      • Note that the dump shows various characters in a translated format, for example; spaces as "+" characters and commas in the "hex" representation (%2C)

    • the remainder of the single "payload" packet has to do with the HTTP-based command that tells the server what to do with this information (for more detail, see the Apple's documentation on the "curl" interface)

    • the second "payload" packet contains the License or Unlicense code that's returned from the licensing server in response to the Request that was sent

    • when relinquishing a license, there's also another "payload" packet dump that shows the Unlicense Confirmation

Up

7. Can I run a licensed product from a server?

Yes, but each client will operate in Trial mode until a License has been installed to license the software for that client.

Up

8. I reset the permissions throughout the licensed application and now it won't run. How do I solve this problem?

Usually, the quickest way is to reinstall and relicense the application.

Up

9. I'm having problems communicating with the licensing server, what should I check?

LicenseControl uses the industry-standard web-browsing protocol and port (HTTP on port 80) to communicate with the licensing server. As such, if you can browse to our web page at http://www.derman.com/ (and, if you're reading this, you can), then you should also be able to connect to our licensing server.

There are two notable exceptions to this:

  • If you employ outgoing firewall software that controls network connections based upon the application from which they originate (e.g., PCZoneAlarm on a PC/Windows system or MacLittle Snitch on a Mac OS X system), then you will need to set the firewall software to allow LicenseControl to be allowed the above-mentioned protocol/port via TCP. This may require administrator privileges on your system.

  • If your network employs a proxy server that proxies based upon individual applications, then you will need to ensure that the proxy server allows LicenseControl the above-mentioned protocol/port via TCP. This may require help from a network administrator.

LicenseControl supports most proxy setups. LicenseControl uses the proxy setup defined for your web-browsing services. If a proxy server is configured, LicenseControl will use it and will prompt you for the username and password if one is required by the proxy server setup.

LicenseControl does not support a script/server-driven automatic proxy (.pac file) setup allowed by some PC/Windows and Mac OS X configurations. In such configurations, you'll need to configure the proxy setup manually before LicenseControl will be able to use it.

LicenseControl uses the curl library to connect to the licensing server (on both PC/Windows and Mac OS X platforms).

Mac On a Mac OS X system, you can test a curl-based connection via the command line. This may provide valuable troubleshooting information. To do so:

  • bring up a Terminal window (launch /Applications/Utilities/Terminal)

  • if your network does not use a proxy server, issue the command:

    curl -x www.derman.com:80 http://www.derman.com/ > ~/Desktop/foo.html

    Note: the above command is all on one line with a space before and after the greater-than character (>).

  • if your network does use a proxy server, issue the command:

    curl -U <user>:<password> -x <proxy-server-address>:<proxy-server-port> http://www.derman.com/ > ~/Desktop/foo.html

    where <user> and <password> are the username and password required by your proxy server (if no proxy login is required, omit the "-U <user>:<password>" portion of the command) and <proxy-server-address> and <proxy-server-port> provide the fully qualified domain name (FQDN) or the IP address and port number for the proxy server.

In either of the cases, above, if successful, the curl command will create a web page named foo.html on your desktop. If you open that web page (foo.html), you'll see our home page, minus the graphics.

If the curl command is not successful, you should copy/paste the command and the message(s) it generates into an email and send it to us.

Up

10. I administer multiple LicenseControl'd systems. Can LicenseControl make this easier for me?

Yes, please see the sections titled Storing Your License ID and Controlling Access to Licensing Operations in the LicenseControl ReadMe document (also available via LicenseControl's Help menu).

Up

LicenseControl
PC Mac
Release Notes
FAQ

LicenseControl
Quick-Links

Overview

Screen Shots

Licensing Services

Documentation

History

Report an Issue


Last Updated:

Home - Products - Services - Download - Support - About Us
Contact Us - Privacy Policy   ©2003-2008 Derman Enterprises Inc., All Rights Reserved