chaves publicas ambiente corporativo
162 pág.

chaves publicas ambiente corporativo


DisciplinaRedes de Computadores20.546 materiais258.690 seguidores
Pré-visualização31 páginas
VWDWLF YRLG main(String[] args) { 
 } 
 103
 
 
 SULYDWH YRLG initialize() { 
 WKLV.setSize(401, 250); 
 WKLV.setContentPane(getJContentPane()); 
 
 //carrega a lista de certificados 
 listarCertificados(); 
 } 
 
 /** 
 * Carrega o combo com a lista de certificados. 
 * 
 */ 
 SULYDWH YRLG listarCertificados(){ 
 
 //lista os certificados 
 File dir = QHZ File(ControleCliente.DIRETORIO_CERTIFICADOS); 
 
 File arqs[] = dir.listFiles(); 
 String nmArq; 
 String proprietario; 
 X509CertificateObject cert; 
 
 IRU (LQW i = 0; i < arqs.length; i++) { 
 
 //nome do arquivo 
 nmArq = arqs[i].getName(); 
 
 //testa a extensao do arquivo 
 LI(nmArq.indexOf(&quot;.crt&quot;) > 0){ 
 
 WU\{ 
 //recupera o proprietario do certificado 
cert = 
Utils.getInstanceCertificadoX509(arqs[i].getAb
solutePath()); 
 proprietario = cert.getSubjectDN().getName(); 
 proprietario = Utils.extrairCN(proprietario); 
 
getJComboBox().addItem(nmArq + &quot; - &quot; + 
proprietario); 
 
 }FDWFK (Exception e) { 
 //apenas nao adiciona se falhou 
 } 
 } 
 } 
 
 
 } 
 
 
 SULYDWH javax.swing.JPanel getJContentPane() { 
 LI (jContentPane == QXOO) { 
 jContentPane = QHZ javax.swing.JPanel(); 
 jContentPane.setLayout(QXOO); 
 jContentPane.add(getJLabel(), QXOO); 
 jContentPane.add(getJTextField(), QXOO); 
 jContentPane.add(getJComboBox(), QXOO); 
 jContentPane.add(getJLabel1(), QXOO); 
 104
 jContentPane.add(getJButton(), QXOO); 
 } 
 UHWXUQ jContentPane; 
 } 
 
 
 
 SULYDWH javax.swing.JLabel getJLabel() { 
 LI(jLabel == QXOO) { 
 jLabel = QHZ javax.swing.JLabel(); 
 jLabel.setBounds(5, 3, 370, 31); 
 jLabel.setText(&quot;Projeto PKI - Módulo Cliente&quot;); 
jLabel.setFont(QHZ java.awt.Font(&quot;Dialog&quot;, 
java.awt.Font.BOLD | java.awt.Font.ITALIC, 14)); 
 } 
 UHWXUQ jLabel; 
 } 
 
 
 SULYDWH javax.swing.JTextField getJTextField() { 
 LI(jTextField == QXOO) { 
 jTextField = QHZ javax.swing.JTextField(); 
 jTextField.setBounds(8, 48, 373, 26); 
jTextField.setText(&quot;Insira um Disquete para 
Exportação.&quot;); 
jTextField.setBackground(QHZ 
java.awt.Color(248,249,226)); 
 jTextField.setEnabled(IDOVH); 
jTextField.setFont(QHZ java.awt.Font(&quot;Dialog&quot;, 
java.awt.Font.BOLD, 12)); 
jTextField.setHorizontalAlignment(javax.swing.JTextField.
CENTER); 
 } 
 UHWXUQ jTextField; 
 } 
 
 
 SULYDWH javax.swing.JComboBox getJComboBox() { 
 LI(jComboBox == QXOO) { 
 jComboBox = QHZ javax.swing.JComboBox(); 
 jComboBox.setBounds(9, 121, 220, 23); 
 } 
 UHWXUQ jComboBox; 
 } 
 
 
 SULYDWH javax.swing.JLabel getJLabel1() { 
 LI(jLabel1 == QXOO) { 
 jLabel1 = QHZ javax.swing.JLabel(); 
 jLabel1.setBounds(9, 94, 155, 21); 
 jLabel1.setText(&quot;Selecione o Certificado:&quot;); 
 } 
 UHWXUQ jLabel1; 
 } 
 
 
 SULYDWH javax.swing.JButton getJButton() { 
 LI(jButton == QXOO) { 
 jButton = QHZ javax.swing.JButton(); 
 jButton.setBounds(264, 187, 117, 24); 
 jButton.setText(&quot;Exportar&quot;); 
 105
jButton.addActionListener(QHZ 
java.awt.event.ActionListener() { 
SXEOLF YRLG actionPerformed(java.awt.event.ActionEvent e) 
{ 
 exportarCertificado(); 
 } 
 }); 
 } 
 UHWXUQ jButton; 
 } 
 
 /** 
 * Exporta o certificado selecionado. 
 * 
 */ 
 SULYDWH YRLG exportarCertificado(){ 
 
 String selecao = (String) getJComboBox().getSelectedItem(); 
 
 LI(selecao != QXOO){ 
 
 //recupera o nome do arquivo com a extensao 
 LQW i = selecao.indexOf(&quot;.crt&quot;); 
 String nmArq = selecao.substring(0, i + 4); 
String nmArqCer = ControleCliente.DIRETORIO_CERTIFICADOS 
+ File.separator + nmArq; 
 
 //copia certificado 
File nmArqCerDestino = GuiUtils.promptFileForSave(WKLV, 
&quot;Exportar certificado&quot;, QXOO); 
 
 LI(nmArqCerDestino != QXOO){ 
 
 WU\{ 
 
FileUtils.copiarArquivo(QHZ File(nmArqCer), 
nmArqCerDestino); 
 
 //ok 
JOptionPane.showMessageDialog(WKLV, 
&quot;Certificado exportado com sucesso!&quot;); 
 
 }FDWFK(Exception e){ 
 e.printStackTrace(); 
JOptionPane.showMessageDialog(WKLV, &quot;Erro ao 
exportar certificado: &quot;+e.getMessage()); 
 } 
 } 
 } 
 
 } 
 
} 
 
 106
(QYLD0VJ\ufffdMDYD\ufffd
 
/** 
 * Autor: Bruno 
 * 
 * Classe para geração de mensagens assinadas e envelopadas 
 * no padrão PKCS#7. As funcionalidades não se encontram 
 * totalmente nesta classe. 
 * Ela apenas utiliza os métodos de outras classes como a MsgUtils 
 * e a Utils. 
 * 
 */\ufffd
SDFNDJH cliente.ui; 
 
LPSRUW java.awt.GraphicsConfiguration; 
LPSRUW java.io.DataOutputStream; 
LPSRUW java.io.File; 
LPSRUW java.io.FileInputStream; 
LPSRUW java.io.FileOutputStream; 
LPSRUW java.security.KeyPair; 
LPSRUW java.security.interfaces.RSAPrivateKey; 
LPSRUW javax.swing.JFrame; 
LPSRUW javax.swing.JOptionPane; 
LPSRUW org.bouncycastle.jce.provider.X509CertificateObject; 
LPSRUW pki.MsgUtils; 
LPSRUW pki.Utils; 
LPSRUW util.FileUtils; 
LPSRUW util.GuiUtils; 
LPSRUW cliente.controle.ControleCliente; 
 
 
SXEOLF FODVV EnviaMsg H[WHQGV JFrame { 
 
 SULYDWH javax.swing.JPanel jContentPane = QXOO; 
 
 SULYDWH javax.swing.JLabel jLabel = QXOO; 
 SULYDWH javax.swing.JTextField jTextField = QXOO; 
 SULYDWH javax.swing.JTextArea jTextArea = QXOO; 
 SULYDWH javax.swing.JButton jButton = QXOO; 
 SULYDWH javax.swing.JLabel jLabel1 = QXOO; 
 SULYDWH javax.swing.JComboBox jComboBox = QXOO; 
 
 
 SXEOLF EnviaMsg() { 
 VXSHU(); 
 initialize(); 
 } 
 
 
 
 SXEOLF EnviaMsg(GraphicsConfiguration arg0) { 
 VXSHU(arg0); 
 initialize(); 
 } 
 
 
 
 SXEOLF EnviaMsg(String arg0) { 
 VXSHU(arg0); 
 initialize(); 
 107
 } 
 
 
 
 SXEOLF EnviaMsg(String arg0, GraphicsConfiguration arg1) { 
 VXSHU(arg0, arg1); 
 initialize(); 
 } 
 
 SXEOLF VWDWLF YRLG main(String[] args) { 
 } 
 
 
 SULYDWH YRLG initialize() { 
 WKLV.setSize(430, 322); 
 WKLV.setContentPane(getJContentPane()); 
 
 //listar certificados 
 listarCertificados(); 
 } 
 
 /** 
 * Carrega o combo com a lista de certificados. 
 */ 
 SULYDWH YRLG listarCertificados(){ 
 
 //lista os certificados 
 File dir = QHZ File(ControleCliente.DIRETORIO_CERTIFICADOS); 
 
 File arqs[] = dir.listFiles(); 
 String nmArq; 
 String proprietario; 
 X509CertificateObject cert; 
 
 IRU (LQW i = 0; i < arqs.length; i++) { 
 
 //nome do arquivo 
 nmArq = arqs[i].getName(); 
 
 //testa a extensao do arquivo 
 LI(nmArq.indexOf(&quot;.crt&quot;) > 0){ 
 
 WU\{ 
 //recupera o proprietario do certificado 
cert = 
Utils.getInstanceCertificadoX509(arqs[i].getAb
solutePath()); 
 proprietario = cert.getSubjectDN().getName(); 
 proprietario = Utils.extrairCN(proprietario); 
getJComboBox().addItem(nmArq + &quot; - &quot; + 
proprietario); 
 
 }FDWFK (Exception e) { 
 //apenas nao adiciona se falhou 
 } 
 } 
 } 
 } 
 
 
 
 108
 
 SULYDWH javax.swing.JPanel getJContentPane() { 
 LI (jContentPane == QXOO) { 
 jContentPane = QHZ javax.swing.JPanel(); 
 jContentPane.setLayout(QXOO); 
 jContentPane.add(getJLabel(), QXOO); 
 jContentPane.add(getJTextField(), QXOO); 
 jContentPane.add(getJTextArea(), QXOO); 
 jContentPane.add(getJButton(), QXOO); 
 jContentPane.add(getJLabel1(), QXOO); 
 jContentPane.add(getJComboBox(), QXOO); 
 } 
 UHWXUQ jContentPane; 
 } 
 
 
 
 SULYDWH javax.swing.JLabel getJLabel() { 
 LI(jLabel == QXOO) { 
 jLabel = QHZ javax.swing.JLabel(); 
 jLabel.setBounds(4, 3, 403, 31); 
 jLabel.setText(&quot;Projeto PKI - Módulo Cliente&quot;); 
jLabel.setFont(QHZ java.awt.Font(&quot;Dialog&quot;, 
java.awt.Font.BOLD | java.awt.Font.ITALIC,