Adobe Expiration Date

Look
Valued Contributor III

Does anyone happen to know where you can read the license expiration date for an Adobe Creative Cloud installation?
Preferably from the terminal so I can EA it.

10 REPLIES 10

mpeski
New Contributor III

Not an EA, but this might be of some help: https://foigus.wordpress.com/2017/11/08/cc-expiration-dates/.

prodic
New Contributor III

Adobe just released this tool:
https://helpx.adobe.com/enterprise/kb/volume-license-expiration-check.html

Hope that helps

jhalvorson
Valued Contributor

@prodic Thanks for the link to the site. I just learned from the chat session with Adobe support that the tool isn't available just yet. And they really don't have the request process available yet. Sounds like the page shouldn't be visible to the public just yet. They did offer a demo, but didn't promise it would work...whatever that means.

stevewood
Honored Contributor II
Honored Contributor II

There isn't a place that I've found on the systems that holds the expiration date. My understanding, from conversations with Adobe, is that the CC desktop app checks in with Adobe and that is where the expiration comes from. You can, however, determine the hash of a serial number and use an EA to pull that info out of either the SWID (regid) file, or the SQLite database that Adobe uses.

This EA will pull from SQLite since that is how I first did it:

#!/bin/bash

result=`sqlite3 "/Library/Application Support/Adobe/Adobe PCD/cache/cache.db" "select value from domain_data where key = 'SN'"`

echo "<result>${result}</result>"

And then this will pull from the regid file to determine what type of license you have installed. If you get SUBSCRIPTION that is a named user license.

#!/usr/bin/env python

import os, sys
import xml.etree.ElementTree as ET

path = '/Library/Application Support/regid.1986-12.com.adobe'
my_results = "<result>"
for filename in os.listdir(path):

    fullname = os.path.join(path, filename)
    tree = ET.ElementTree(file=fullname)
    root = tree.getroot()
    licenses = root.getchildren()
    for license in licenses:
        lic_children = license.getchildren()
        for lic_child in lic_children:
            if lic_child.tag == "{http://standards.iso.org/iso/19770/-2/2008/schema.xsd}channel_type":
                my_results += lic_child.text
                my_results += "
"

my_results += "</result>"
sys.stdout.write(my_results)

prodic
New Contributor III

@jhalvorson Sorry about that.
We received the link from our Adobe-contact and wasn't made aware that it wasn't publicly available.
The only note we received was "contact our team via the ‘Adobe Customer Care’ section".
We have tested the tool (today) and it seems to work. We are waiting for confirmation.

Besides the tool all I have is this:
https://helpx.adobe.com/creative-cloud/kb/apply-and-verify-serialized-license---creative-cloud-enterprise.html
Sadly we have not been able to verify that the encrypted serial does in fact change after running the "change serial"-package. To make it even more fun their own tool claims that it has changed from "expiring" to "not-expiring".

That is the part we are waiting to have finally confirmed.

donmontalvo
Esteemed Contributor III

EDIT: Forgot first step:

Package/deploy Adobe's "Expiry Tool" tool:

fa1111590dd04ade9a6386b462570b10

Then run a script to output result to a file for an EA to pull:

#!/bin/sh
# Check Adobe CC Expired Licenses. 20171122 DM

if [ -e /Library/SUPPORT/Applications/AdobeExpiryCheck/AdobeExpiryCheck ]; then
    /Library/SUPPORT/Applications/AdobeExpiryCheck/AdobeExpiryCheck > /Library/SUPPORT/Applications/AdobeExpiryCheck/checkAdobeExpiredLicenses_test.txt
fi

exit 0

EA for determining if an expired license is installed on the machine:

#!/bin/sh
# Check Adobe CC expired licenses EA. 20171122 DM

testFile="/Library/SUPPORT/Applications/AdobeExpiryCheck/checkAdobeExpiredLicenses_test.txt"
testResult=$( cat ${testFile} )
goodResult="No expiring/expired serial number found on the system ..."
badResult="20171130"

if [ -e ${testFile} ]; then
    if [[ ${testResult} =~ ${goodResult} ]]; then
        echo "<result>NoExpiredLicensesFound</result>"
    elif [[ ${testResult} =~ ${badResult} ]]; then
        echo "<result>ExpiredLicensesFound</result>"
    fi
else
    echo "<result>FileDoesNotExist</result>"
fi

exit 0

To deploy the license file, create licensing package (spits out four files):

4de60f78112e42cf817a3b50791bbba1

Which includes postinstall script to run the command to serialize:

a00cd75ca41842ecb6221a9222140ddd

Smart Computer Group to target computers that have EA value of ExpiredLicensesFound.

Push is silent, non intrusive. If user has any of the apps open, the app will see the license on next launch.

--
https://donmontalvo.com

stevewood
Honored Contributor II
Honored Contributor II

@donmontalvo nice EA, but don't you have to have access to Adobe's new "Expiry Tool" to get your results? ;-)

donmontalvo
Esteemed Contributor III

@stevewood wrote:

@donmontalvo nice EA, but don't you have to have access to Adobe's new "Expiry Tool" to get your results? ;-)

I blame caffeine deficiency...updated post to include that very necessary first step. :)

--
https://donmontalvo.com

taugust04
Valued Contributor

My apologies if this is off topic, but does anyone know what the rationale is from Adobe regarding this licensing change, with a serial number expiring by a certain date now? This seems quite a hostile policy for the enterprise, especially for systems assigned to individual users (labs/classrooms) are easier to re-serialize since we know where these systems are at all times. I'm coming from a higher-ed angle with this one.

It seems that a lot of colleges and universities were hit with this one by surprise (including the two I work for), perhaps because the people who sign the Adobe licensing paperwork (and get notifications) are not always the one building the packages for end user deployments of the application.

-Ted

donmontalvo
Esteemed Contributor III

@taugust04 maybe because Adobe wants everyone to move to subscription model?
¯_(ツ)_/¯

--
https://donmontalvo.com