Granting privileges to dbms_crypto

oracleoracle-11g-r2Security

I'm trying to grant proper privileges for using DBMS_CRYPTO.

Whenever I call it from package it gives me error:
PLS-00201: identifier 'DBMS_CRYPTO' must be declared

User already has privileges:
SELECT_CATALOG_ROLE
EXECUTE_CATALOG_ROLE
SELECT ANY DICTIONARY

and EXECUTE on DBMS_CRYPTO to package_owner.

any ideas what am i doing wrong?

Best Answer

Privileges obtained through a role are not in effect inside a stored procedure.

You need to grant the execute privilege explicitely.