Upgrading to Sitecore 9.1 or later: Encryption key storage moved

While wrapping up a recent upgrade to Sitecore 9.3 that utilizes Coveo for Sitecore 5, I noticed a strange issue where the license stopped working in a CD environment.

Could not retrieve Coveo for Sitecore license. (Code: UNABLE_TO_RETRIEVE_LICENSE)


First thing I checked for was that a valid license was in place. I downloaded the license for my CM (working) and deployed that to the CD environment to make sure that both were in sync. (/App_Data/coveolicense.xml). Note: You will need to restart Sitecore to reload the updated license file. 


Unfortunately, this didn’t solve the problem. It was strange as it was working at one point in the CD environment. I opened a ticket with Coveo to see if they had any ideas at what to look for next. Here was the tip from support:

You can also find out the Encryptions Keys under Properties --> WEB_ENCRYPTIONKEYS for the web DB and Properties -> CORE_ENCRYPTIONKEYS for the Core DB.
https://connect.coveo.com/s/article/6049

In the article, it explains that with Sitecore 9.1 or later that it stores a WEB_ENCRYPTIONKEYS within the web database (versus the core with earlier versions). It was that moment when the light bulb went off. The web database isn’t used for the public website as the Intranet came first. Two publishing database – internal and external. I had recently updated the server to remove the web connection string and make appropriate adjustments. The WEB_ENCRYPTIONKEYS on my external database was set incorrectly. Once I updated that with the value from my web database, Coveo started to function normally again. 

UPDATE [dbo].[Properties]
   SET [Value] = <Value, nvarchar(max),>
 WHERE key = 'WEB_ENCRYPTIONKEYS'

Comments