Changeset 3394 for branches/2.2/security


Ignore:
Timestamp:
10/21/10 15:52:45 (14 years ago)
Author:
rafaelraymundo
Message:

Ticket #1265 - Tratamento de mensagens encapsuladas do Outlook.

Location:
branches/2.2/security
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/2.2/security/ExpressoCert/src/br/gov/serpro/cert/DigitalCertificate.java

    r3232 r3394  
    5555import br.gov.serpro.ui.DialogBuilder; 
    5656import br.gov.serpro.util.Base64Utils; 
    57 import com.sun.mail.util.BASE64DecoderStream; 
    58 import java.io.InputStreamReader; 
    5957import java.io.OutputStream; 
    6058import java.io.OutputStreamWriter; 
    61 import java.io.PipedInputStream; 
    62 import java.io.PipedOutputStream; 
    6359import java.security.AlgorithmParameters; 
     60import java.util.regex.Matcher; 
     61import java.util.regex.Pattern; 
    6462import javax.activation.CommandMap; 
    6563import javax.activation.MailcapCommandMap; 
    66 import javax.mail.BodyPart; 
    6764import javax.mail.internet.ContentType; 
    6865import javax.mail.internet.MimeUtility; 
    6966import javax.mail.internet.PreencodedMimeBodyPart; 
    70 import org.bouncycastle.asn1.ASN1InputStream; 
    71 import org.bouncycastle.asn1.DERObject; 
    7267import org.bouncycastle.cms.CMSException; 
    7368import org.bouncycastle.cms.RecipientId; 
     
    623618            } 
    624619 
     620            // Corrige problemas com e-mails vindos do Outlook 
     621            // Corrige linhas que são terminadas por \n (\x0A) e deveriam ser terminadas por \r\n (\x0D\x0A) 
     622            Pattern p = Pattern.compile("(?<!\\r)\\n"); 
     623            Matcher matcher = p.matcher(retorno); 
     624            retorno = matcher.replaceAll(CRLF); 
     625 
    625626            return retorno; 
    626627        } else { 
  • branches/2.2/security/ExpressoCert/src/br/gov/serpro/setup/Setup.java

    r3232 r3394  
    11package br.gov.serpro.setup; 
     2 
    23import java.applet.Applet; 
    34import java.util.HashMap; 
     
    89import java.util.ResourceBundle; 
    910 
    10  
    1111public class Setup { 
    1212 
    13         /** 
    14          * 
    15          */ 
    16         private static final long serialVersionUID = -8164125429139606589L; 
    17  
    18         private Properties parameters; 
    19         private Properties preferences; 
     13    /** 
     14     * 
     15     */ 
     16    private static final long serialVersionUID = -8164125429139606589L; 
     17    private Properties parameters; 
     18    private Properties preferences; 
    2019    private Map<String, ResourceBundle> langResources; 
    2120    Locale currentLocale; 
    22         private Applet currentApplet; 
    23          
     21    private Applet currentApplet; 
    2422    private static final String PREFERENCES_PATH; 
    2523    private static final String EPASS_2000; 
     
    2725    static { 
    2826 
    29         //PrintStream ps = new PrintStream(System.out); 
    30                 //System.getProperties().list(System.out); 
    31  
    32         if (System.getProperty("os.name").equalsIgnoreCase("linux")){ 
    33                         EPASS_2000 = "/usr/lib/libepsng_p11.so"; 
    34                 } 
    35                 else { 
    36                         EPASS_2000 = System.getenv("SystemRoot").replaceAll("\\\\", "/")+"/system32/ngp11v211.dll"; 
    37             //EPASS_2000 = System.getenv("ProgramFiles")+"\\Gemplus\\GemSafe Libraries\\BIN\\gclib.dll"; 
    38                 } 
     27        if (System.getProperty("os.name").equalsIgnoreCase("linux")) { 
     28            EPASS_2000 = "/usr/lib/libepsng_p11.so"; 
     29        } else { 
     30            EPASS_2000 = System.getenv("SystemRoot").replaceAll("\\\\", "/") + "/system32/ngp11v211.dll"; 
     31        } 
    3932 
    4033 
    41                 PREFERENCES_PATH = "TESTE"; 
     34        PREFERENCES_PATH = "TESTE"; 
    4235 
    43         } 
     36    } 
    4437 
    45         public Setup(Applet applet){ 
     38    public Setup(Applet applet) { 
    4639 
    47                 this.currentApplet = applet; 
    48                 parameters = new Properties(); 
    49                 //preferences = Do arquivo apontado por preferences_path 
     40        this.currentApplet = applet; 
     41        parameters = new Properties(); 
     42        //preferences = Do arquivo apontado por preferences_path 
    5043 
    51                 // Pega os parâmetros da applet 
    52                 for (String[] parameter: getParameterInfo()){ 
    53                         String parameterName = parameter[0]; 
    54                         String parameterValue; 
     44        // Pega os parâmetros da applet 
     45        for (String[] parameter : getParameterInfo()) { 
     46            String parameterName = parameter[0]; 
     47            String parameterValue; 
    5548 
    56                         if (this.currentApplet.isActive()){ 
    57                             parameterValue = this.currentApplet.getParameter(parameterName); 
    58                         } 
    59                         else { 
    60                             parameterValue = null; 
    61                         } 
     49            parameterValue = this.currentApplet.getParameter(parameterName); 
    6250 
    63                         //System.out.println("Parameter a ser adicionado - " + parameterName + "= " + parameterValue); 
     51            System.out.println("parameter: "+parameterName+" value: "+parameterValue); 
    6452 
    65                         if (parameterValue != null && !parameterValue.equals("")){ 
    66                                 parameters.setProperty(parameterName.toLowerCase(), parameterValue); 
    67                 if (parameterName.equalsIgnoreCase("locale")){ 
     53            if (parameterValue != null && !parameterValue.equals("")) { 
     54                parameters.setProperty(parameterName.toLowerCase(), parameterValue); 
     55                if (parameterName.equalsIgnoreCase("locale")) { 
    6856                    System.out.println("Locale recebido."); 
    6957                } 
    70                         } 
    71             else { 
     58            } else { 
    7259                //Defaults 
    73                 if (parameterName.equalsIgnoreCase("debug")){ 
     60                if (parameterName.equalsIgnoreCase("debug")) { 
    7461                    parameters.setProperty(parameterName.toLowerCase(), "false"); 
    7562                } 
    76                 if (parameterName.equalsIgnoreCase("token")){ 
    77                     parameters.setProperty(parameterName.toLowerCase(), "Epass2000;"+EPASS_2000); 
     63                if (parameterName.equalsIgnoreCase("token")) { 
     64                    parameters.setProperty(parameterName.toLowerCase(), "Epass2000;" + EPASS_2000); 
    7865                } 
    79                 if (parameterName.equalsIgnoreCase("locale")){ 
     66                if (parameterName.equalsIgnoreCase("locale")) { 
    8067                    System.out.println("Locale não recebido, definindo valor default."); 
    8168                    parameters.setProperty(parameterName.toLowerCase(), "pt_BR"); 
    8269                } 
    8370            } 
    84                 } 
     71        } 
    8572 
    86                 //TODO: Pega as preferências do arquivo de preferências se encontrado; 
     73        //TODO: Pegar as preferências do arquivo de preferências se encontrado; 
    8774 
    8875        // Lang Resources 
     
    9178        langResources.put("ExpressoCertMessages", ResourceBundle.getBundle("ExpressoCertMessages", currentLocale)); 
    9279 
    93         } 
     80    } 
    9481 
    95         public String[][] getParameterInfo(){ 
     82    public String[][] getParameterInfo() { 
    9683 
    97                 String[][] info = { 
    98                         {"debug", "boolean", "Habilita mensagens de debug"}, 
     84        String[][] info = { 
     85            {"debug", "boolean", "Habilita mensagens de debug"}, 
    9986            {"token", "string", "Lista de tokens suportados. Formato: nome1;caminho1,nome2;caminho2"}, 
    10087            {"locale", "string", "Locale do sistema"} 
    101                 }; 
     88        }; 
    10289 
    103                 return info; 
    104         } 
     90        return info; 
     91    } 
    10592 
    106         public String[][] getPreferencesInfo(){ 
     93    public String[][] getPreferencesInfo() { 
    10794 
    108                 String[][] info = { 
    109                         {"preferedToken", "string", "Token preferencial do usuário. Formato: nome;caminho"} 
    110                 }; 
     95        String[][] info = { 
     96            {"preferedToken", "string", "Token preferencial do usuário. Formato: nome;caminho"} 
     97        }; 
    11198 
    112                 return info; 
     99        return info; 
    113100 
    114         } 
     101    } 
    115102 
    116         public String getParameter(String key){ 
    117                 return parameters.getProperty(key); 
    118         } 
     103    public String getParameter(String key) { 
     104        return parameters.getProperty(key); 
     105    } 
    119106 
    120         public String getPreference(String key){ 
    121                 return getPreference(key); 
    122         } 
     107    public String getPreference(String key) { 
     108        return getPreference(key); 
     109    } 
    123110 
    124         //TODO: implementar PreferenceNotRegisteredException 
    125         public void setPreference(String key, String value){ 
     111    //TODO: implementar PreferenceNotRegisteredException 
     112    public void setPreference(String key, String value) { 
    126113 
    127                 boolean exists = false; 
    128                 while (!exists){ 
    129                         for (String[] preference: getPreferencesInfo()){ 
    130                                 if (key.equalsIgnoreCase(preference[1])){ 
    131                                         exists = true; 
    132                                         preferences.setProperty(key, value); 
    133                                 } 
    134                         } 
    135                 } 
     114        boolean exists = false; 
     115        while (!exists) { 
     116            for (String[] preference : getPreferencesInfo()) { 
     117                if (key.equalsIgnoreCase(preference[1])) { 
     118                    exists = true; 
     119                    preferences.setProperty(key, value); 
     120                } 
     121            } 
     122        } 
    136123 
    137                 if (!exists){ 
     124        if (!exists) { 
    138125//                       throws PreferenceNotRegisteredException(); 
    139126            System.out.println("Preferência não existe!"); 
    140                 } 
    141         } 
     127        } 
     128    } 
    142129 
    143     Locale buildLocale(String localeCode){ 
     130    Locale buildLocale(String localeCode) { 
    144131 
    145132        String[] localeItems = localeCode.split("_"); 
    146133        Locale locale; 
    147          
    148         switch (localeItems.length){ 
    149             case 1: locale = new Locale(localeItems[0]); 
    150                     break; 
    151             case 2: locale = new Locale(localeItems[0], localeItems[1]); 
    152                     break; 
    153             case 3: locale = new Locale(localeItems[0], localeItems[1], localeItems[2]); 
    154                     break; 
    155             default: locale = new Locale("pt", "BR"); 
    156                     System.out.println("Locale code error, setting default locale: " + locale.toString()); 
     134 
     135        switch (localeItems.length) { 
     136            case 1: 
     137                locale = new Locale(localeItems[0]); 
     138                break; 
     139            case 2: 
     140                locale = new Locale(localeItems[0], localeItems[1]); 
     141                break; 
     142            case 3: 
     143                locale = new Locale(localeItems[0], localeItems[1], localeItems[2]); 
     144                break; 
     145            default: 
     146                locale = new Locale("pt", "BR"); 
     147                System.out.println("Locale code error, setting default locale: " + locale.toString()); 
    157148        } 
    158149 
     
    160151    } 
    161152 
    162     public void addLanguageResource(String langResource){ 
    163         System.out.println("registrando recusro de linguagem " + langResource); 
     153    public void addLanguageResource(String langResource) { 
     154        System.out.println("registrando recurso de linguagem " + langResource); 
    164155        langResources.put(langResource, ResourceBundle.getBundle(langResource, currentLocale)); 
    165156    } 
    166157 
    167     public String getLang(String langResource, String message){ 
     158    public String getLang(String langResource, String message) { 
    168159 
    169160        ResourceBundle resource = langResources.get(langResource); 
     
    172163        try { 
    173164            i18nText = resource.getString(message); 
    174         } 
    175         catch (MissingResourceException e){ 
     165        } catch (MissingResourceException e) { 
    176166            e.printStackTrace(); 
    177167        } 
     
    182172    } 
    183173 
    184         // TODO: Not Implemented Yet 
    185         public boolean savePreferences(){ 
    186                 return false; 
    187         } 
    188  
     174    // TODO: Not Implemented Yet 
     175    public boolean savePreferences() { 
     176        return false; 
     177    } 
    189178} 
Note: See TracChangeset for help on using the changeset viewer.