none
RSA RRS feed

  • Pergunta

  • Boas,

    Tenho que assinar e encriptar documento digitais, e para tal tenho uma chave publica e uma chave privada.

    Tenho a chave publica e chave privada em ficheior "pem"

    -----BEGIN PUBLIC KEY-----
    -----END PUBLIC KEY-----

    Como posso ler este ficheiro e obter o seu xml.

    Cumps,

    J

    quarta-feira, 18 de agosto de 2010 08:55

Todas as Respostas

  • Prezado,

    Não deu pra entender muito bem... Poderia explicar de uma outra forma?


    André Alves de Lima
    Visite o meu site: http://andrealveslima.spaces.live.com
    Me siga no Twitter: @andrealveslima
    quarta-feira, 18 de agosto de 2010 11:34
    Moderador
  • ok,

    é asim eu para a framework .net uso um componente para assinar documentos de facturação, o componente que uso é o seguinte

    ChilkatDotNet2

    http://www.example-code.com/csharp/default.asp

    Gostava de ter o mesmo componente, mas para a compact framework, ou algo que faça o mesmo.

    Eu preciso de fazer o seguinte

    carregar este ficheiro private.pem

    Importar a chave privada para XML

    Assinar e encriptar o texto que eu quero

    Carregar a chave publica a partir do ficheiro Pem

    Importar a chave publica para XML

    Verificar a assinatura do texto encriptado

    Basicamente são estes os passos ue necessito fazer.

    espero estar perceptivel.

    Cumps,

    Joaquim

     

     

    quarta-feira, 18 de agosto de 2010 12:00
  • Resolvido,

    Tive de recorer ao

    OpenSSLKey

    disponivel através do link

    http://www.jensign.com/opensslkey/index.html

     

    http://www.openssl.org/docs/crypto/pem.html#PEM_ENCRYPTION_FORMAT

    Depois fui usar classes da compactframework

    .....

    as classes jensign par o openssl já trazem 2 método para ler pem files e devolvem uma instancia do

    RSACryptoServiceProvider

    fica algum pseudo código.

    RSACryptoServiceProvider rsaPrivate=JavaScience.OpenSSLKey.DecodePrivateKey(caminho);

     

    byte[] signedSecretData = rsaPrivate.SignData(texto, algoritmo);

     

    bool verify1 = rsaPublic.VerifyData(texto, algoritmo, encriptado);

    Alguma duvida colocar aqui

    Abr

    Jpais

    terça-feira, 24 de agosto de 2010 16:14