Encriptar um arquivo PDF com AES + IV

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Encriptar um arquivo PDF com AES + IV

Mensagem por Hasse »

Bom dia colegas.

Preciso encriptar arquivos em PDF com AES que tem uma Chave "cKEY" e um Vetor de Inicialização "cIV" ( AES_Key e AES_IV )
Eu penso que deve ser com o uso do:

CriptStr := HB_Crypt( <cString>, <cKey> )

Então:
1)-A função acima é a correta ?
2)-Caso não seja, qual usar ?
2)-Como fazer quando tem o IV ?
Sds.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Encriptar um arquivo PDF com AES + IV

Mensagem por Hasse »

Bom dia.

Ou seria o caso de usar o OpenSSL ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Encriptar um arquivo PDF com AES + IV

Mensagem por Hasse »

Obtive uma informação de que a LIB LibHaru permite esta encriptação ?
Algum colega tem alguma informação ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Encriptar um arquivo PDF com AES + IV

Mensagem por Itamar M. Lins Jr. »

Olá!
Não entendo NADA disso.
Mas fiz uns testes aqui no LINUX.

Código: Selecionar todos

PROCEDURE Main()

   LOCAL ctx
   LOCAL result
   LOCAL encrypted
   LOCAL decrypted

   LOCAL cKey := "1234"
   LOCAL cTxt := "abcd"

   SSL_init()
   OpenSSL_add_all_ciphers()
   ctx := hb_EVP_CIPHER_ctx_create()
   EVP_CIPHER_CTX_init( ctx )

   EVP_EncryptInit( ctx, "AES128", cKey) //aqui vc coloca , -> ,"iv" que o resultado é diferente.->    EVP_EncryptInit( ctx, "AES128", cKey,"iv")
   EVP_CIPHER_CTX_cipher( ctx )
   EVP_CIPHER_block_size( EVP_CIPHER_CTX_cipher( ctx ) )

   encrypted := ""
   result := ""
   EVP_EncryptUpdate( ctx, @result, cTxt )
   encrypted += result
   EVP_EncryptFinal( ctx, @result )
   encrypted += result

   ? "ENCRYPTED", ">" + hb_base64Encode( encrypted ) + "<"
  
   ctx := NIL
   EVP_cleanup()

   RETURN 

Código: Selecionar todos

tamar@itamar-desktop:~/fontes/exemplos$ ./aes 
   
ENCRYPTED >vncMO1Bwt1/4JdrP529DQA==<                                                                          
itamar@itamar-desktop:~/fontes/exemplos$ kate aes.prg 
itamar@itamar-desktop:~/fontes/exemplos$ hbmk2 aes.prg hbssl.hbc 
hbmk2: Processando script local: hbmk.hbm
Harbour 3.2.0dev (r2311302136)
Copyright (c) 1999-2021, https://harbour.github.io/
Compiling 'aes.prg'...
Lines 32, Functions/Procedures 1
Generating C source output to '/tmp/hbmk_3layj2.dir/aes.c'... Done.
itamar@itamar-desktop:~/fontes/exemplos$ ./aes 
   
ENCRYPTED >Q3dV8jHB8XSCrMrLhLej7w==<  
Fonte:
https://groups.google.com/g/harbour-use ... I8WDIXFAAJ

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Encriptar um arquivo PDF com AES + IV

Mensagem por Hasse »

Boa tarde Itamar.

E eu que estava pensando que iria dar com os "burros n'água"....
Que iria ser "uma briga de foice dentro do elevador no escuro".

Mas sempre temos um colega que sabe tirar uma bela carta da manga.

Perfeito. Agora que o caminho das pedras está aberto é só correr para o abraço.

Obrigado.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Encriptar um arquivo PDF com AES + IV

Mensagem por Hasse »

Mas o "IV" tem um valor. Substituir ?
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Encriptar um arquivo PDF com AES + IV

Mensagem por Itamar M. Lins Jr. »

Olá!
Mas o "IV" tem um valor. Substituir ?
o "iv" minusculo, não entendi, se tem algo a ver com strings grandes... Realmente não sei.
No link tem mais um:
https://pctoledo.org/forum/viewto ... 7e#p127182

Matemática nunca foi minha praia.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Hasse
Usuário Nível 4
Usuário Nível 4
Mensagens: 820
Registrado em: 19 Out 2004 10:30
Localização: Jaraguá do Sul - SC

Encriptar um arquivo PDF com AES + IV

Mensagem por Hasse »

OK.

Realmente o IV tem uma string de 12 caracteres.

Nada que o teste à quente não resolva. Irei instalar e testar.
No máximo não irá gerar corretamente se estiver errado.

Obrigado.
Hasse
CP200 / CP500 / Basic / dBase III / dBase IV / Clipper Summer / RTlink / Exospace.
Clipper 5.3b / Blinker 7.0 / CDX com TAG
xHarbour 1.2.1-6604 / Borland C++ (5.5.1) 32 bit / HBmake.
Harbour 3.2.0dev (r1412121623) / MINGW / HBM2 / MiniGui HMG 3.1.4 / IDE (Roberto Lopez).
"Conheça todas as teorias, domine todas as técnicas, mas, quando tocares uma alma humana, seja apenas outra alma humana." (C.G.Jung)
Responder