Issue
-
A valid license does not propagate from Operations Center (CJOC) to managed controllers.
-
Managed controllers report the warning message: "`Your license expires in 0 days."
After successfully installing a valid CJOC license, you get the following error on the existing managed controllers:
Your license expires in 0 days. Your software will be blocked.
When creating a new managed controller, you get the following error:
[Thu Apr 18 20:19:27 GMT 2019] Generating license certificate for 10 users... FATAL: [Thu Apr 18 20:19:27 GMT 2019] Could not generate license certificate com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1Exception: corrupted stream detected at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.readObject(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.buildEncodableVector(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.buildDEREncodableVector(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.buildObject(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.readObject(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.buildEncodableVector(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.buildDEREncodableVector(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.buildObject(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.readObject(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1Primitive.fromByteArray(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.cert.CertUtils.parseNonEmptyASN1(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.cert.X509CertificateHolder.parseBytes(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.cert.X509CertificateHolder.<init>(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.SublicenseFactory.generateLicenseCertificate(SublicenseFactory.java:197) at com.cloudbees.opscenter.server.properties.ConnectedMasterLicenseServerProperty.check(ConnectedMasterLicenseServerProperty.java:567) at com.cloudbees.opscenter.server.properties.ConnectedMasterLicenseServerProperty.check(ConnectedMasterLicenseServerProperty.java:321) at com.cloudbees.opscenter.server.properties.ConnectedMasterLicenseServerProperty.access$1300(ConnectedMasterLicenseServerProperty.java:110) at com.cloudbees.opscenter.server.properties.ConnectedMasterLicenseServerProperty$PeriodicWorkImpl$2.call(ConnectedMasterLicenseServerProperty.java:1686) at com.cloudbees.opscenter.server.properties.ConnectedMasterLicenseServerProperty$PeriodicWorkImpl$2.call(ConnectedMasterLicenseServerProperty.java:1684) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalArgumentException: malformed integer at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1Integer.<init>(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.createPrimitiveDERObject(Unknown Source) at com.cloudbees.opscenter.server.sublicensing.bc.asn1.ASN1InputStream.buildObject(Unknown Source)
Resolution
The license was generated incorrectly and consequently cannot generate sublicenses. To resolve this, you should request a new CJOC or CloudBees Core license from CloudBees. Contact CloudBees representative sales@cloudbees.com or open a support request; ask for the new license file to be generated.
This article is part of our Knowledge Base and is provided for guidance-based purposes only. The solutions or workarounds described here are not officially supported by CloudBees and may not be applicable in all environments. Use at your own discretion, and test changes in a safe environment before applying them to production systems.