Wednesday, January 25, 2012

How to Fix the 'Master Key is Not Open' Error in K2 blackpearl 4.5

Question

When I go to the following URL, I get a runtime error:
http://{sharepoint site}/sites/UP/K2/_layouts/K2/Reports/ReportSettings.aspx?ReportID=11&PageTitle=Process Instances

I look in the event log and I see the following error:
8060 ProcessPacket Error, Please create a master key in the database or open the master key in the session before performing this operation. The key ’SCSSOKey’ is not open. Please open the key before using it.

Do you know how I can fix this through the K2 UI? I found this post online but I don’t have access to the K2 databases:
http://www.k2underground.com/forums/t/13277.aspx

Answer:

Run the following script on your K2 database

-- Purpose: K2 has an error with the master key, and this is the method K2 provided to fix the issue

USE {your VM machine name}_K2Hostserver
DROP SYMMETRIC KEY SCSSOKey
DROP CERTIFICATE SCHostServerCert
DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '5CE05F96-98A1-475C-9E8C-5053F057D312'
CREATE CERTIFICATE SCHostServerCert
WITH SUBJECT = 'Host Server Certificate', START_DATE = '01/01/2007', EXPIRY_DATE = '01/01/2017'
CREATE SYMMETRIC KEY SCSSOKey WITH ALGORITHM = TRIPLE_DES
ENCRYPTION BY CERTIFICATE SCHostServerCert

USE {your VM machine name}_K2SmartBroker
DROP SYMMETRIC KEY SCSSOKey
DROP CERTIFICATE SCHostServerCert
DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '5CE05F96-98A1-475C-9E8C-5053F057D312'
CREATE CERTIFICATE SCHostServerCert
WITH SUBJECT = 'Host Server Certificate', START_DATE = '01/01/2007', EXPIRY_DATE = '01/01/2017'
CREATE SYMMETRIC KEY SCSSOKey WITH ALGORITHM = TRIPLE_DES
ENCRYPTION BY CERTIFICATE SCHostServerCert

USE {your VM machine name}_K2Smartbox
DROP SYMMETRIC KEY SCSSOKey
DROP CERTIFICATE SCHostServerCert
DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '5CE05F96-98A1-475C-9E8C-5053F057D312'
CREATE CERTIFICATE SCHostServerCert
WITH SUBJECT = 'Host Server Certificate', START_DATE = '01/01/2007', EXPIRY_DATE = '01/01/2017'
CREATE SYMMETRIC KEY SCSSOKey WITH ALGORITHM = TRIPLE_DES
ENCRYPTION BY CERTIFICATE SCHostServerCert

USE {your VM machine name}_K2SQLUM
DROP SYMMETRIC KEY SCSSOKey
DROP CERTIFICATE SCHostServerCert
DROP MASTER KEY
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '5CE05F96-98A1-475C-9E8C-5053F057D312'
CREATE CERTIFICATE SCHostServerCert
WITH SUBJECT = 'Host Server Certificate', START_DATE = '01/01/2007', EXPIRY_DATE = '01/01/2017'
CREATE SYMMETRIC KEY SCSSOKey WITH ALGORITHM = TRIPLE_DES
ENCRYPTION BY CERTIFICATE SCHostServerCert