I use Nokia Mobile Internet Toolkit to generate
content and rights object for separate delivery.
For the same content (.dcf file), I generate both
xml (.dr rights file) and wbxml (.drc rights file).
The rights are identical.
All files have the same content ID.
When I run Junit tests with .drc file, it works
fine. When I run the test with .dr file, I get

java.lang.IllegalArgumentException: Empty key
at javax.crypto.spec.SecretKeySpec.<init>(SecretKeySpec.java:73)

Here is the rights file:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE o-ex:rights PUBLIC "-//OMA//DTD DRMREL 1.0//EN"
"http://www.oma.org/dtd/dr">
<o-ex:rights
xmlns-ex="http://odrl.net/1.1/ODRL-EX"
xmlns-dd="http://odrl.net/1.1/ODRL-DD"
xmlns:ds="http://www.w3.org/2000/09/xmldsig#/"
>
<o-ex:context>
<o-dd:version>1.0</o-dd:version>
</o-ex:context>
<o-ex:agreement>
<o-ex:asset>
<o-ex:context>
<o-dd:uid>mud_SD_55counts</o-dd:uid>
</o-ex:context>
<ds:KeyInfo><ds:KeyValue> </ds:KeyValue></ds:KeyInfo>
</o-ex:asset>
<o-exermission>

<o-ddlay>
<o-ex:constraint>
<o-dd:count>55</o-dd:count>
</o-ex:constraint>
</o-ddlay>

<o-dd:display>
<o-ex:constraint>
<o-dd:count>55</o-dd:count>
<o-dd:interval>P0Y2M0DT0H0M0S</o-dd:interval>
</o-ex:constraint>
</o-dd:display>

<o-dd:execute>
<o-ex:constraint>
<o-dd:count>75</o-dd:count>
</o-ex:constraint>
</o-dd:execute>
</o-exermission>
</o-ex:agreement>
</o-ex:rights>

What do I miss in the xml rights file?
Thanks
Tom