When would the content key be encrypted with the secret key, as opposed to the public key?
The most flexible approach, and one that is always possible, is for the content key to be encrypted using the public key of the Node to which the content should be bound. This is always possible because the public parts of Nodes can be freely distributed. When the content key is encrypted using the public key, any Links to the Node to which the content is bound include the corresponding private key so that the private key can be used to decrypt the content key. Such Links are protected by encrypting them with the public key of the origin Node. If the License Service creating a License has access to the private portion of the Node, which includes the secret key, the License Service can encrypt the content key with the secret key instead of the public key. One reason this might be done is to save on client License processing time, since secret key cryptography is faster than public key cryptography. In this case, Links to the Node to which the License is bound must contain the secret key