# HG changeset patch # User William Roberts # Date 1272489061 -3600 # Node ID c8580ce65571b6ada44604d695a0cb34755f8d37 # Parent 04da681812a98ddbd926e14c6a61d19800026da0# Parent 656c47ca7d25b225e48b7295b82cc372899be917 Remerge fixes for Bug 2121 and Bug 1993 - Bug 1993 is partially implemented in "Revision: 201015" which has removed the CMLA RnD key exports, so I've stopped creating omadrm/rndcerts/group/bld.inf - The CryptoPrep.flm fix (Bug 2121) is unchanged, as I don't like the latest changes to add the exported file to the "sbs -what" output diff -r 04da681812a9 -r c8580ce65571 omadrm/drmengine/group/CryptoPrep.flm --- a/omadrm/drmengine/group/CryptoPrep.flm Tue Apr 27 16:56:11 2010 +0300 +++ b/omadrm/drmengine/group/CryptoPrep.flm Wed Apr 28 22:11:01 2010 +0100 @@ -13,29 +13,36 @@ # Description: DRM Crypto Library build configuration # +ifeq ($(_CRYPTOPREP_FLM_),) +# first instance of this FLM +_CRYPTOPREP_FLM_:= 1 + TMPROOT:=$(subst \,/,$(EPOCROOT)) EPOCROOT:=$(patsubst %/,%,$(TMPROOT))/ -CREATABLEPATH:=$(EXTENSION_ROOT)/../drmengine/drmcrypto/build -CLEANTARGETS:=$(CREATABLEPATH)/cmlacrypto.cpp $(CREATABLEPATH)/omacrypto.cpp +# NB: abspath doesn't like Windows drive letters +CRYPTO_SOURCE_DRIVE:=$(firstword $(subst :, ,$(EXTENSION_ROOT))) +ifeq ($(CRYPTO_SOURCE_DRIVE),$(EXTENSION_ROOT)) +CREATABLEPATH:=$(abspath $(EXTENSION_ROOT)/../drmengine/drmcrypto/build)) +else +CRYPTO_ABSPATH:=$(abspath $(subst $(CRYPTO_SOURCE_DRIVE):,,$(EXTENSION_ROOT)/../drmengine/drmcrypto/build)) +CREATABLEPATH:=$(CRYPTO_SOURCE_DRIVE):$(CRYPTO_ABSPATH) +endif crypto_files:=$(wildcard $(EXTENSION_ROOT)/../drmengine/drmcrypto/CMLA/*.cpp) - GUARD:=done_$(call sanitise,$(CLEANTARGETS)) ifeq ($($(GUARD)),) $(GUARD):=1 -BITMAP :: $(CREATABLEPATH) - ifeq ($(crypto_files),) - $(GNUCP) $(CREATABLEPATH)/../stub/CmlaCryptoStub.cpp $(CREATABLEPATH)/cmlacrypto.cpp +CMLA_CRYPTO_SOURCE:=$(CREATABLEPATH)/../stub/CmlaCryptoStub.cpp else - $(GNUCP) $(CREATABLEPATH)/../CMLA/CmlaCrypto.cpp $(CREATABLEPATH)/cmlacrypto.cpp +CMLA_CRYPTO_SOURCE:=$(CREATABLEPATH)/../CMLA/CmlaCrypto.cpp endif - $(GNUCP) $(CREATABLEPATH)/../src/OmaCrypto.cpp $(CREATABLEPATH)/omacrypto.cpp - $(GNUCHMOD) u+w $(CREATABLEPATH)/cmlacrypto.cpp - $(GNUCHMOD) u+w $(CREATABLEPATH)/omacrypto.cpp + +$(CREATABLEPATH)/cmlacrypto.cpp: $(CMLA_CRYPTO_SOURCE) + $(GNUCP) $< $@ # Create dirs $(call makepath,$(CREATABLEPATH)) @@ -43,11 +50,10 @@ ## Clean up $(eval $(call GenerateStandardCleanTarget,$(CLEANTARGETS))) -## What -$(eval $(call whatmacro,$(CLEANTARGETS))) - +$(info $(PLATFORM) $(CFG), selecting $(CMLA_CRYPTO_SOURCE)) else -$(info $(PLATFORM) $(CFG), up-to-date $(CLEANTARGETS)) +$(info $(PLATFORM) $(CFG), already handled $(CMLA_CRYPTO_SOURCE)) +# FLM already included - don't duplicate the targets endif diff -r 04da681812a9 -r c8580ce65571 omadrm/drmengine/group/DrmCrypto.mmp --- a/omadrm/drmengine/group/DrmCrypto.mmp Tue Apr 27 16:56:11 2010 +0300 +++ b/omadrm/drmengine/group/DrmCrypto.mmp Wed Apr 28 22:11:01 2010 +0100 @@ -40,9 +40,11 @@ SOURCE drmaescrypto.cpp SOURCEPATH ../drmcrypto/build -SOURCE omacrypto.cpp SOURCE cmlacrypto.cpp +SOURCEPATH ../drmcrypto/src +SOURCE OmaCrypto.cpp + LIBRARY euser.lib LIBRARY efsrv.lib LIBRARY asn1.lib diff -r 04da681812a9 -r c8580ce65571 omadrm/foundationcerts/data/devicekey1024.der Binary file omadrm/foundationcerts/data/devicekey1024.der has changed diff -r 04da681812a9 -r c8580ce65571 omadrm/foundationcerts/data/dummycert.cnf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadrm/foundationcerts/data/dummycert.cnf Wed Apr 28 22:11:01 2010 +0100 @@ -0,0 +1,40 @@ +# Copyright (c) 2010 Symbian Foundation Ltd. +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of the License "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Symbian Foundation - Initial contribution +# +# Description: +# Config file for generating the dummy certificate + + +# Steps to generate using OpenSSL +# +# 1. Generate key +# +# openssl genrsa -out devicekey1024.pem 1024 +# openssl rsa -inform pem -in devicekey1024.pem -outform der -out devicekey1024.der +# +# 2. Generate self-signed X509 certificate +# +# openssl req -new -x509 -keyform der -key devicekey1024.der -outform der -out dummycert.der -config dummycert.cnf +# +# + + +distinguished_name = Symbian Foundation +prompt = no + +[Symbian Foundation] + C = GB + ST = Test State or Province + L = Test Locality + O = Organization Name + OU = Organizational Unit Name + CN = Common Name + emailAddress = noreply@symbian.org + diff -r 04da681812a9 -r c8580ce65571 omadrm/foundationcerts/data/dummycert.der Binary file omadrm/foundationcerts/data/dummycert.der has changed diff -r 04da681812a9 -r c8580ce65571 omadrm/foundationcerts/group/bld.inf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/omadrm/foundationcerts/group/bld.inf Wed Apr 28 22:11:01 2010 +0100 @@ -0,0 +1,30 @@ +/* +* Copyright (c) 2010 Symbian Foundation Ltd. +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Symbian Foundation - Initial contribution +* +* Description: +* Component to install dummy key & certificate to keep DRM engine alive +*/ + +PRJ_EXPORTS + +/* + * 96b7db19a4d05a4bc8e3a51c885088e679354469 - this directory name should be the SHA1 checksum + * of the active part of the certificate public key (see CDrmStdKeyStorage::ImportDataL), but + * hasn't been recalculated for this certificate + */ + +../data/devicekey1024.der z:/private/101F51F2/PKI/96b7db19a4d05a4bc8e3a51c885088e679354469/DevicePrivateKey.der +../data/dummycert.der z:/private/101F51F2/PKI/96b7db19a4d05a4bc8e3a51c885088e679354469/DeviceCert.der +../data/dummycert.der z:/private/101F51F2/PKI/96b7db19a4d05a4bc8e3a51c885088e679354469/SigningCert00.der + +#ifdef __DRM_USER_DATA_TRANSFER +../data/dummycert.der z:/private/101F51F2/PKI/UdtCertificate.der +#endif diff -r 04da681812a9 -r c8580ce65571 omadrm/group/bld.inf --- a/omadrm/group/bld.inf Tue Apr 27 16:56:11 2010 +0300 +++ b/omadrm/group/bld.inf Wed Apr 28 22:11:01 2010 +0100 @@ -15,8 +15,6 @@ * */ -#include - PRJ_PLATFORMS DEFAULT