Hi,
When you find a key using the Find method you get an handle to the actual related object in the token/HSM. You can use such an handle in EncryptInit to encrypt something using that key.
Then you may ask for the key's attributes and its values by using the related properties.
Usually with the Key objects, the underlying PKCS#11 module and the token don't allow to read the sensitive private key values. Usually when you try to read the value of a private key the underlying PKCS#11 module returns the error CKR_ATTRIBUTE_SENSITIVE. This means that a malicious guy cannot read the sensitive private key values.
Regards,
Ugo Chirico