Index: branches/2.3/security/ExpressoCertLogin/src/br/gov/serpro/i18n/ExpressoCertLoginMessages_pt_BR.properties
===================================================================
--- branches/2.3/security/ExpressoCertLogin/src/br/gov/serpro/i18n/ExpressoCertLoginMessages_pt_BR.properties	(revision 5386)
+++ branches/2.3/security/ExpressoCertLogin/src/br/gov/serpro/i18n/ExpressoCertLoginMessages_pt_BR.properties	(revision 5386)
@@ -0,0 +1,8 @@
+# To change this template, choose Tools | Templates
+# and open the template in the editor.
+
+LoginApplet001 = N\u00E3o foi poss\u00EDvel validar o certificado do servidor!
+LoginApplet002 = Algum erro ocorreu ao realizar o logon!
+LoginApplet003 = PIN incorreto!
+LoginApplet004 = N\u00E3o foi poss\u00EDvel fazer a conex\u00E3o com o servidor do Expresso.\nVerifique suas configura\u00E7\u00F5es de rede/proxy.
+LoginApplet005 = Deseja tentar carreg\u00E1-lo novamente?
Index: branches/2.3/security/ExpressoCert/src/br/gov/serpro/setup/Setup.java
===================================================================
--- branches/2.3/security/ExpressoCert/src/br/gov/serpro/setup/Setup.java	(revision 5152)
+++ branches/2.3/security/ExpressoCert/src/br/gov/serpro/setup/Setup.java	(revision 5386)
@@ -145,5 +145,6 @@
     Locale buildLocale(String localeCode) {
 
-        String[] localeItems = localeCode.split("_");
+        String splitter = localeCode.indexOf('_') != -1 ? "_" : "-" ;
+        String[] localeItems = localeCode.split(splitter);
         Locale locale;
 
@@ -168,5 +169,5 @@
     public void addLanguageResource(String langResource) {
         System.out.println("registrando recurso de linguagem " + langResource);
-        langResources.put(langResource, ResourceBundle.getBundle(langResource, currentLocale));
+        langResources.put(langResource, ResourceBundle.getBundle("br.gov.serpro.i18n."+langResource, currentLocale));
     }
 
Index: branches/2.3/security/ExpressoCert/src/br/gov/serpro/cert/DigitalCertificate.java
===================================================================
--- branches/2.3/security/ExpressoCert/src/br/gov/serpro/cert/DigitalCertificate.java	(revision 5276)
+++ branches/2.3/security/ExpressoCert/src/br/gov/serpro/cert/DigitalCertificate.java	(revision 5386)
@@ -483,5 +483,5 @@
 	    return null;
 	}
-
+        
 	Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
 
@@ -837,8 +837,8 @@
 
             if (this.setup.getParameter("debug").equalsIgnoreCase("true")) {
-                System.out.println("\nthis.cert: "+Base64Utils.der2pem(this.cert.getEncoded())+"\n");
+                System.out.println("\nthis.cert: "+ this.getPEMCertificate()+"\n");
             }
 
-	    httppost.addParameter("certificado", Base64Utils.der2pem(this.cert.getEncoded()));
+	    httppost.addParameter("certificado", this.getPEMCertificate());
 	    httpclient.executeMethod(httppost);
 	    resposta = httppost.getResponseBodyAsString().split(CRLF);
@@ -976,5 +976,5 @@
     public String getPEMCertificate() throws CertificateEncodingException {
         if (this.cert != null){
-            return Base64Utils.der2pem(this.cert.getEncoded());
+            return Base64Utils.der2pem(this.cert.getEncoded(), true);
         }
         return null;
Index: branches/2.3/security/ExpressoCert/src/br/gov/serpro/util/Base64Utils.java
===================================================================
--- branches/2.3/security/ExpressoCert/src/br/gov/serpro/util/Base64Utils.java	(revision 5152)
+++ branches/2.3/security/ExpressoCert/src/br/gov/serpro/util/Base64Utils.java	(revision 5386)
@@ -144,5 +144,5 @@
 
         String beginCertificate = "-----BEGIN CERTIFICATE-----" +CRLF;
-        String endCertificate = "-----END CERTIFICATE-----";
+        String endCertificate = "-----END CERTIFICATE-----" +CRLF;
 
         if (isCert){
Index: branches/2.3/security/ExpressoCertMail/src/br/gov/serpro/i18n/ExpressoCertMailMessages_pt_BR.properties
===================================================================
--- branches/2.3/security/ExpressoCertMail/src/br/gov/serpro/i18n/ExpressoCertMailMessages_pt_BR.properties	(revision 5386)
+++ branches/2.3/security/ExpressoCertMail/src/br/gov/serpro/i18n/ExpressoCertMailMessages_pt_BR.properties	(revision 5386)
@@ -0,0 +1,8 @@
+# To change this template, choose Tools | Templates
+# and open the template in the editor.
+
+ParamReaderThread001 = N\u00E3o foi poss\u00EDvel carregar Token/SmartCard: senha incorreta
+ParamReaderThread002 = Erro no processamento da assinatura.
+ParamReaderThread003 = Erro no processamento da mensagem.
+ParamReaderThread004 = Erro ao decifrar mensagem: Detectado problema na integridade da mensagem cifrada.
+ParamReaderThread005 = Problema no acesso \u00E0s informa\u00E7\u00F5es do Token.
Index: branches/2.3/security/ExpressoCertMail/src/ExpressoSmimeApplet.java
===================================================================
--- branches/2.3/security/ExpressoCertMail/src/ExpressoSmimeApplet.java	(revision 1174)
+++ branches/2.3/security/ExpressoCertMail/src/ExpressoSmimeApplet.java	(revision 5386)
@@ -31,5 +31,5 @@
 		this.setSize(1, 1);
 		this.setup = new Setup(this);
-        this.setup.addLanguageResource("ExpressoCertMailMessages");
+                this.setup.addLanguageResource("ExpressoCertMailMessages");
 		this.dataReader = new Javascript2AppletPassingData();
 		// this.paramReaderThread = new ParamReaderThread(JSObject.getWindow(this), dataReader, setup);
Index: branches/2.3/security/ExpressoCertMailMessages_pt_BR.properties
===================================================================
--- branches/2.3/security/ExpressoCertMailMessages_pt_BR.properties	(revision 1174)
+++ 	(revision )
@@ -1,8 +1,0 @@
-# To change this template, choose Tools | Templates
-# and open the template in the editor.
-
-ParamReaderThread001 = N\u00E3o foi poss\u00EDvel carregar Token/SmartCard: senha incorreta
-ParamReaderThread002 = Erro no processamento da assinatura.
-ParamReaderThread003 = Erro no processamento da mensagem.
-ParamReaderThread004 = Erro ao decifrar mensagem: Detectado problema na integridade da mensagem cifrada.
-ParamReaderThread005 = Problema no acesso \u00E0s informa\u00E7\u00F5es do Token.
Index: branches/2.3/security/ExpressoCertLoginMessages_pt_BR.properties
===================================================================
--- branches/2.3/security/ExpressoCertLoginMessages_pt_BR.properties	(revision 1174)
+++ 	(revision )
@@ -1,8 +1,0 @@
-# To change this template, choose Tools | Templates
-# and open the template in the editor.
-
-LoginApplet001 = N\u00E3o foi poss\u00EDvel validar o certificado do servidor!
-LoginApplet002 = Algum erro ocorreu ao realizar o logon!
-LoginApplet003 = PIN incorreto!
-LoginApplet004 = N\u00E3o foi poss\u00EDvel fazer a conex\u00E3o com o servidor do Expresso.\nVerifique suas configura\u00E7\u00F5es de rede/proxy.
-LoginApplet005 = Deseja tentar carreg\u00E1-lo novamente?
Index: branches/2.3/security/ExpressoCertMessages_pt_BR.properties
===================================================================
--- branches/2.3/security/ExpressoCertMessages_pt_BR.properties	(revision 1174)
+++ 	(revision )
@@ -1,14 +1,0 @@
-# To change this template, choose Tools | Templates
-# and open the template in the editor.
-
-DigitalCertificate001 = Nenhum token/smartcard foi detectado.\nOpera\u00E7\u00E3o n\u00E3o p\u00F4de ser realizada!
-DigitalCertificate002 = N\u00E3o \u00E9 poss\u00EDvel ler este e-mail com o Certificado Digital apresentado!\nMotivo: Este e-mail n\u00E3o foi cifrado com a chave p\u00FAblica deste Certificado Digital.
-
-DialogBuilder001 = Entre com o seu PIN:
-DialogBuilder002 = Selecione o certificado:
-
-cancel = Cancelar
-pin = PIN
-ok = Ok
-certificate = Certificado
-select = Selecionar
