Fernando. Gracias por responder. en si seria para añadirle un tanto mas de seguridad a la base de datos. ya tengo configurado permisos de conexion por ips especificas a la base de datos. los usuarios de base de datos se conectan con contraseñas de un solo uso basadas en tiempo ( Time-based One-time Password) con el mismo algoritmo utilizado por google en "google authenticator" pero la cadena de conexion generada en la aplicacion para cada conexion es visible si se decodifica la aplicacion o se le inyecta código con un par de clases hechas con AspectJ. lo que quiero es que si alguien logra obtener esa cadena de conexion no pueda conectarse a la bd desde un cliente tipo pgadmin. y para eso lo único que se me ocurrió es que la cadena de conexion que obtenga sea ilegible. como el caso de Base64. lógicamente no es la mejor solución debido a que si una persona se tomo el trabajo de decodificar la aplicacion, analizar el funcionamiento del algoritmo que genera las cadenas de conexion y contraseñas va a poder deducir que un texto "amRiYzpwb3N0Z3Jlc3FsOi8vMTkyLjE2OC4xLjEwMDo1NDMyL3BydWViYT91c2VyPXRlc3QmcGFz c3dvcmQ9dXNlcnRlc3Q=" es un texto codificado en base64. asi que una mejor solucion seria talves sifrar el texto y que postgres decifre eso y no solo cambiar el encoding. pero desconosco si eso se puede hacer. asi que lo que se me ocurrio de curiosidad es ver como cambiar el encoding, ya que como comente antes alguna ves vi algo parecido en el codigo de un ex compañero de trabajo.
pdta: si en ves de cambiar solo el encoding se puede además cifrar la conexion ya sea en jdbc o desde postgresql seria mucho mejor. Saludos y gracias por el interés. Alvaro revisare lo que me indicas para ver que tal me va por ese lado Gracias. 2013/4/22 Alvaro Herrera <[email protected]> > Crispin T. escribió: > > > no estoy seguro de que si este tema es off-topic por eso no lo puse asi. > > Bueno, si es on-topic entonces no es necesario poner nada; y si es > off-topic, entonces no deberías publicarlo en esta lista, así que > tampoco necesitas poner nada. > > > tengo una consulta, hay alguna forma enviar la cadena de conexion > cifrada, > > encriptada o codificada en (por ejemplo) Base64? vi en un proyecto por > hay > > que alguien puso. > > > DriverManager.getConnection("amRiYzpwb3N0Z3Jlc3FsOi8vMTkyLjE2OC4xLjEwMDo1NDMyL3BydWViYT91c2VyPXRlc3QmcGFz > > c3dvcmQ9dXNlcnRlc3Q="); > > > > revisando un poco vi que esa cadena esta codificada en Base64 y es una > > cadena de conexion verdadera. > > > > pero no puedo pasarle esa cadena directamente a postgresql. > > jdbc:postgresql://192.168.1.100:5432/prueba?user=test&password=usertest > > ¿cuál sería el objetivo de esto? ¿no estarás tratando de esconder la > password? Por si es así, evidentemente no va a funcionar. > > ¿Quizás te pueda servir un archivo pg_service.conf? ¿quizás en conjunto > con un pg_pass.conf? > > -- > Álvaro Herrera http://www.2ndQuadrant.com/ > PostgreSQL Development, 24x7 Support, Training & Services > -- Solo alcanzaras el conocimiento conociendo la ignorancia.
