Classe Java no Forms

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
elton.souza
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 38
Registrado em: Qua, 30 Jan 2013 6:22 pm

Boa tarde pessoal, tudo bem?

Preciso desenvolver um forms que é necessário se integrar com uma classe Java. já pesquisei na net e não consegui algo muito claro, alguém poderia me ajudar como faço essa integração do Oracle forms com o Java? Obrigado
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Fala brother, beleza?

O que já aconteceu comigo, foi ter que consumir uma classe Java no banco de dados.
Teria como você migrar essa classe pro Banco ?
Abraço,
elton.souza
Rank: Programador Pleno
Rank: Programador Pleno
Mensagens: 38
Registrado em: Qua, 30 Jan 2013 6:22 pm

Olá amigo, bom dia.

Então eu joguei a classe e compilei ela no banco. porém estou tendo o seguinte erro.

ORA-29532: chamada Java finalizada por exceção Java não-detectada: java.security.cert.CertificateParsingException: java.io.IOException: subject key, Unknown key spec.


Já pesquisei muito na net e não estou conseguindo encontrar uma solução. Você tem ideia do que seja? Veja abaixo trecho do meu código;

Essa classe é chamada dentro de uma função que recebe como parâmetro um arquivo do tipo BLOB e esse arquivo é de certificado digital e buscado no banco Oracle, porém está retornando essa exceção acima.

Selecionar tudo

public static String GetCertSubject_teste(oracle.sql.BLOB srcBlob)
     throws Exception
   {
            String senhaDoCertificadoDoCliente = "senha";
      
 InputStream inBuffer = srcBlob.getBinaryStream();
            KeyStore ks = KeyStore.getInstance("pkcs12");
            try 
            {
                ks.load(inBuffer , senhaDoCertificadoDoCliente.toCharArray());
              
            } catch (IOException e) {
                System.out.println("Erro"+e.toString());
              }
            String  xpto = null;
            String  lReturn = null;
            Enumeration al =  ks.aliases();
            while (al.hasMoreElements()) {
                xpto = (String)al.nextElement();
                if (ks.containsAlias(xpto)) {
                    X509Certificate cert = (X509Certificate) ks.getCertificate(xpto);
                    System.out.println("VALOR ALIAS : '" + xpto + "'");
                    String certificate =cert.getSubjectX500Principal().toString();
                    String empresa= certificate.substring(3,35);
                    String certificadora = cert.getIssuerX500Principal().toString();
                    String certific= certificadora.substring(3,32);
           } else {
                    System.out.println("Alias doesunistr('\0074\0020\0065\0078\0069\0073\0074\0073\0020\003A\0020')" + xpto + "'");
                }
      }
pode me ajudar?
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes