Olá pessoal, estou precisando de uma idéia, estou com um problema.
Eu preciso criptografar um email com minhas chaves Publicas/privadas
trazidas de um TOKEN/CERTIFICADO DIGITAL.
Até a parte da criptografação eu cheguei agora eu preciso Criptografar e assinar com um Certi/Token
se alguem poder me ajudar, ficarei grato !
e assim q tiver uma resposta eu post
abraço a todos
Nossa cara, eu lembro que eu fazia coisa parecida em um projeto de certificacao
digital do abn, vou ver se encontro alguma coisa do sistema aqui .
Vc já fez alguma coisa ? Se tiver feito manda o que vc fez ai.
Opa Pessoal!
estive fazendo uma pesquisa e meu problema cresceu um pouco.rsrs mas achei algo q me ajudou bastante!
para resolver a duvida postada segue um link com um exemplo ótimo de nosso amigo DIEGO Carrion (Obrigado pela força amigão…)!
http://www.mouseoverstudio.com/blog/?p=73
Agora meu problema se resume em Receber/Enviar Emails Criptografados!!! segue uma API do MILAGROSO Bouncy CAstle ! estou tratando ela, se alguem já a usou e puder postar algo seria ótimo, abraçãoa todos
package org.bouncycastle.mail.smime.examples;
import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.cert.X509Certificate;
import java.util.Enumeration;
import java.util.Properties;
import javax.mail.Session;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import org.bouncycastle.cms.RecipientId;
import org.bouncycastle.cms.RecipientInformation;
import org.bouncycastle.cms.RecipientInformationStore;
import org.bouncycastle.mail.smime.SMIMEEnveloped;
import org.bouncycastle.mail.smime.SMIMEUtil;
/**
* a simple example that reads an encrypted email.
* <p>
* The key store can be created using the class in
* org.bouncycastle.jce.examples.PKCS12Example - the program expects only one
* key to be present.
*/
public class ReadEncryptedMail
{
public static void main(String[]args) throws Exception {
if (args.length != 2)
{
System.err.println("usage: ReadEncryptedMail pkcs12Keystore password");
System.exit(0);
}
//
// Open the key store
//
KeyStore ks = KeyStore.getInstance("PKCS12", "BC");
ks.load(new FileInputStream(args[0]), args[1].toCharArray());
Enumeration e = ks.aliases();
String keyAlias = null;
while (e.hasMoreElements())
{
String alias = (String)e.nextElement();
if (ks.isKeyEntry(alias))
{
keyAlias = alias;
}
}
if (keyAlias == null)
{
System.err.println("can't find a private key!");
System.exit(0);
}
//
// find the certificate for the private key and generate a
// suitable recipient identifier.
//
X509Certificate cert = (X509Certificate)ks.getCertificate(keyAlias);
RecipientId recId = new RecipientId();
recId.setSerialNumber(cert.getSerialNumber());
recId.setIssuer(cert.getIssuerX500Principal().getEncoded());
//
// Get a Session object with the default properties.
//
Properties props = System.getProperties();
Session session = Session.getDefaultInstance(props, null);
MimeMessage msg = new MimeMessage(session, new FileInputStream("encrypted.message"));
SMIMEEnveloped m = new SMIMEEnveloped(msg);
RecipientInformationStore recipients = m.getRecipientInfos();
RecipientInformation recipient = recipients.get(recId);
MimeBodyPart res = SMIMEUtil.toMimeBodyPart(recipient.getContent(ks.getKey(keyAlias, null), "BC"));
System.out.println("Message Contents");
System.out.println("----------------");
System.out.println(res.getContent());
}
}
abração a todos, assim q resolver esse problema colocarei o ALGO aki, abração