- 3,708,983 Users
- 2,241,169 Discussions
- 7,840,727 Comments
Forum Stats
Discussions
Categories
- 9 Data
- 362.2K Big Data Appliance
- 3 Data Science
- 1K Databases
- 328 General Database Discussions
- 3.7K Java and JavaScript in the Database
- 22 Multilingual Engine
- 480 MySQL Community Space
- 3 NoSQL Database
- 7.6K Oracle Database Express Edition (XE)
- 2.7K ORDS, SODA & JSON in the Database
- 409 SQLcl
- 32 SQL Developer Data Modeler
- 184.6K SQL & PL/SQL
- 20.9K SQL Developer
- 1.3K Development
- Developer Projects
- 31 Programming Languages
- 134.6K Development Tools
- 4 DevOps
- 3K QA/Testing
- 174 Java
- 3 Java Learning Subscription
- 6 Database Connectivity
- 64 Java Community Process
- Java 25
- 7 Java APIs
- 141.1K Java Development Tools
- 2 Java EE (Java Enterprise Edition)
- 153K Java Essentials
- 132 Java 8 Questions
- 86.1K Java Programming
- 270 Java Lambda MOOC
- 65.1K New To Java
- 1.7K Training / Learning / Certification
- 13.8K Java HotSpot Virtual Machine
- 6 Java SE
- 13.8K Java Security
- 3 Java User Groups
- 22 JavaScript - Nashorn
- 18 Programs
- 80 LiveLabs
- 23 Workshops
- 7 Software
- 3 Berkeley DB Family
- 3.5K JHeadstart
- 5.7K Other Languages
- 2.3K Chinese
- 3 Deutsche Oracle Community
- 6 Español
- 1.9K Japanese
- 2 Portuguese
How can I decrypt in ODI procedure a file encrypted with Python Fernet Library

I am facing this scenario in ODI 12c
I am going to receive one file encrypted (by fernet library on python) and the corresponding key for it (*.sha file).
I know ODI can run some python-fashioned commands using a user procedure, but I am not sure all the settings I need to put in place in procedure definition window and if there is additional configuration to run those Python commands. Actually the task command in my procedure is still in python (See below). But I think I should use Jython instead of Python commands. Any advice will be appreciated:
from cryptography.fernet import Fernet
fkey = open("llave.sha", 'rb')
key = fkey.read()
cipher = Fernet(key)
with open('#SIVALE_INT.NombreArchivoCatKonfioEnc','rb') as df:
encrypted_data = df.read()
decrypted_file = cipher.decrypt(encrypted_data)
with open('#SIVALE_INT.NombreArchivoCatKonfio','wb') as df:
df.write(decrypted_file)
Thanks in advance.
Antonio
Answers
This is the error when running the package:
ODI-1228: Task Procedure-PR_DESENCRIPTA_ARCHIVO-Desencripta_Archivo fails on the target connection File_SiVale.
Caused By: java.sql.SQLException: ODI-40400: Invalid format description
at com.sunopsis.jdbc.driver.file.impl.metadata.MetaDataExtractor.buildTableDescFromRequestSQLExceptionOnly(MetaDataExtractor.java:480)