Security Advisory |
Oracle Cryptographic Toolkit Foreign Function Interface (FFI)
Reference to the package here at in the DBSecWorx code library is intended solely as a warning that there is no known legitimate reason for anyone to have access to this security package. |
|
Recommended Security Rules |
NEVER
- Grant execute on this package to any user or role
WITH GREAT CARE
- Check regularly to determine if execute on this package has been granted and if so treat it as highly suspicious: It should raise alarms.
CAUTIONS
|
|
How Oracle Works |
N/A |
N/A |
|
DBMS_CRYPTO_TOOLKIT_FFI Package Information |
AUTHID |
DEFINER |
Dependencies |
CRYPTO_TOOLKIT_LIBRARY |
DBMS_CRYPTO_TOOLKIT |
DBMS_CRYPTO_TOOLKIT_TYPES |
|
Documented in Types & Packages |
No |
First Available |
19.1 |
Security Model |
Owned by SYS with no privileges granted |
Source |
{ORACLE_HOME}/rdbms/admin/prvtoctk.plb |
Subprograms |
|
|
ABORTIDENTITY |
Undocumented |
dbms_crypto_toolkit_ffi.abortIdentity(
package_context IN RAW,
identity IN OUT RAW); |
TBD |
|
CLOSEPERSONA |
Undocumented |
dbms_crypto_toolkit_ffi.closePersona(
package_context IN RAW,
persona IN OUT RAW); |
TBD |
|
CLOSEWALLET |
Undocumented |
dbms_crypto_toolkit_ffi.closeWallet(
package_context IN RAW,
wallet IN OUT RAW); |
TBD |
|
CREATEIDENTITY |
Undocumented |
dbms_crypto_toolkit_ffi.createIdentity(
package_context IN RAW,
identitytype IN BINARY_INTEGER,
public_identity IN VARCHAR2,
alias IN VARCHAR2,
longer_description IN VARCHAR2,
trust_qualifier IN VARCHAR2,
identity OUT RAW); |
TBD |
|
CREATEPERSONA |
Undocumented |
dbms_crypto_toolkit_ffi.createPersona(
package_context IN RAW,
cipher_type IN BINARY_INTEGER,
private_information IN RAW,
prl IN VARCHAR2,
alias IN VARCHAR2,
longer_description IN VARCHAR2,
persona OUT RAW); |
TBD |
|
CREATEWALLET |
Undocumented |
dbms_crypto_toolkit_ffi.createWallet(
package_context IN RAW,
wallet_resource_locator IN VARCHAR2,
password IN VARCHAR2,
wallet IN OUT RAW); |
TBD |
|
DECRYPT |
Undocumented |
dbms_crypto_toolkit_ffi.decrypt(
package_context IN RAW,
persona IN RAW,
decryption_state IN BINARY_INTEGER,
input IN RAW)
RETURN RAW; |
TBD |
|
DEENVELOPE |
Undocumented |
dbms_crypto_toolkit_ffi.deenvelope(
package_context IN RAW,
persona IN RAW,
decryption_state IN BINARY_INTEGER,
input IN RAW,
verified OUT BOOLEAN,
validated OUT BOOLEAN,
sender_identity OUT RAW)
RETURN RAW; |
TBD |
|
DESTROYWALLET |
Undocumented |
dbms_crypto_toolkit_ffi.destroyWallet(
package_context IN RAW,
wallet_resource_locator IN VARCHAR2,
password IN VARCHAR2); |
TBD |
|
ENCRYPT |
Undocumented |
dbms_crypto_toolkit_ffi.encrypt(
package_context IN RAW,
persona IN RAW,
encryption_state IN BINARY_INTEGER,
input IN RAW)
RETURN RAW; |
TBD |
|
ENVELOPE |
Undocumented |
dbms_crypto_toolkit_ffi.envelope(
package_context IN RAW,
persona IN RAW,
number_of_recipients IN BINARY_INTEGER,
recipient_list IN RAW,
encryption_state IN BINARY_INTEGER,
input IN RAW)
RETURN RAW; |
TBD |
|
GETPERSONAFROMWALLET |
Undocumented |
dbms_crypto_toolkit_ffi.getPersonaFromWallet(
package_context IN RAW,
wallet IN RAW,
count IN BINARY_INTEGER,
alias OUT VARCHAR2,
comment OUT VARCHAR2,
identity OUT RAW,
persona OUT RAW); |
TBD |
|
GETPROTECTION |
Undocumented |
dbms_crypto_toolkit_ffi.getProtection(
package_context IN RAW,
persona IN RAW,
crypto_engine_function IN BINARY_INTEGER,
data_unit_format OUT BINARY_INTEGER,
hash_cipher OUT BINARY_INTEGER,
symmetric_cipher OUT BINARY_INTEGER,
key_length OUT BINARY_INTEGER); |
TBD |
|
HASH |
Undocumented |
dbms_crypto_toolkit_ffi.hash(
package_context IN RAW,
persona IN RAW,
hash_state IN BINARY_INTEGER,
input IN RAW)
RETURN RAW; |
TBD |
|
INITIALIZE |
Undocumented |
dbms_crypto_toolkit_ffi.initialize(package_context OUT RAW); |
DECLARE
outVal RAW(32767);
BEGIN
dbms_crypto_toolkit_ffi.initialize(outVal);
-- dbms_output.put_line(outVal);
END;
/
DECLARE
*
ERROR at line 1:
ORA-28817: PL/SQL function returned an error.
ORA-06512: at "SYS.DBMS_CRYPTO_TOOLKIT_FFI", line 6
ORA-06512: at line 4 |
|
KEYEDHASH |
Undocumented |
dbms_crypto_toolkit_ffi.keyedHash(
package_context IN RAW,
persona IN RAW,
hash_state IN BINARY_INTEGER,
input IN RAW)
RETURN RAW; |
TBD |
|
OPENPERSONA |
Undocumented |
dbms_crypto_toolkit_ffi.openPersona(
package_context IN RAW,
persona IN OUT RAW); |
TBD |
|
OPENWALLET |
Undocumented |
dbms_crypto_toolkit_ffi.openWallet(
package_context IN RAW,
wallet_resource_locator IN VARCHAR2,
password IN VARCHAR2,
wallet OUT RAW); |
TBD |
|
PKDECRYPT |
Undocumented |
dbms_crypto_toolkit_ffi.PKDecrypt(
package_context IN RAW,
persona IN RAW,
encryption_state IN BINARY_INTEGER,
input IN RAW)
RETURN RAW; |
TBD |
|
PKENCRYPT |
Undocumented |
dbms_crypto_toolkit_ffi.PKEncrypt(
package_context IN RAW,
persona IN RAW,
number_of_recipients IN BINARY_INTEGER,
recipient_list IN RAW,
state IN BINARY_INTEGER,
input IN RAW,
RETURN RAW; |
TBD |
|
RANDOMBYTES |
Undocumented |
dbms_crypto_toolkit_ffi.randomBytes(
package_context IN RAW,
persona IN RAW,
number_of_bytes_desired IN BINARY_INTEGER)
RETURN RAW; |
TBD |
|
RANDOMNUMBER |
Undocumented |
dbms_crypto_toolkit_ffi.randomNumber(
package_context IN RAW,
persona IN RAW)
RETURN BINARY_INTEGER; |
TBD |
|
REMOVEIDENTITY |
Undocumented |
dbms_crypto_toolkit_ffi.removeIdentity(
package_context IN RAW,
identity OUT RAW); |
TBD |
|
REMOVEPERSONA |
Undocumented |
dbms_crypto_toolkit_ffi.removePersona(
package_context IN RAW,
persona IN OUT RAW); |
TBD |
|
SEEDRANDOM |
Undocumented |
dbms_crypto_toolkit_ffi.seedRandom(
package_context IN RAW,
persona IN RAW,
SEED IN RAW); |
TBD |
|
SETPROTECTION |
Undocumented |
dbms_crypto_toolkit_ffi.setProtection(
package_context IN RAW,
persona IN RAW,
crypto_engine_function IN BINARY_INTEGER,
data_unit_format IN BINARY_INTEGER,
hash_cipher IN BINARY_INTEGER,
symmetric_cipher IN BINARY_INTEGER,
key_length IN BINARY_INTEGER); |
TBD |
|
SIGN |
Undocumented |
dbms_crypto_toolkit_ffi.sign(
package_context IN RAW,
persona IN RAW,
signature_state IN BINARY_INTEGER,
input IN RAW)
RETURN RAW; |
TBD |
|
SIGNDETACHED |
Undocumented |
dbms_crypto_toolkit_ffi.signDetached(
package_context IN RAW,
persona IN RAW,
signature_state IN BINARY_INTEGER,
input IN RAW)
RETURN RAW; |
TBD |
|
STOREPERSONA |
Undocumented |
dbms_crypto_toolkit_ffi.storePersona(
package_context IN RAW,
persona IN OUT RAW,
wallet IN OUT RAW); |
TBD |
|
STORETRUSTEDIDENTITY |
Undocumented |
dbms_crypto_toolkit_ffi.storeTrustedIdentity(
package_context IN RAW,
identity IN OUT RAW,
persona IN RAW); |
TBD |
|
TERMINATE |
Undocumented |
dbms_crypto_toolkit_ffi.terminate(package_context IN OUT RAW); |
TBD |
|
VALIDATE |
Undocumented |
dbms_crypto_toolkit_ffi.validate(
package_context IN RAW,
persona IN RAW,
identity IN RAW)
RETURN BOOLEAN; |
TBD |
|
VERIFY |
Undocumented |
dbms_crypto_toolkit_ffi.verify(
package_context IN RAW,
persona IN RAW,
signature_state IN BINARY_INTEGER,
signature IN RAW,
verified OUT BOOLEAN,
validated OUT BOOLEAN,
signing_party_identity OUT RAW)
RETURN RAW; |
TBD |
|
VERIFYDETACHED |
Undocumented |
dbms_crypto_toolkit_ffi.verifyDetached(
package_context IN RAW,
persona IN RAW,
signature_state IN BINARY_INTEGER,
DATA IN RAW,
signature IN RAW,
verified OUT BOOLEAN,
validated OUT BOOLEAN,
signing_party_identity OUT RAW); |
TBD |