Boa tarde Italo,
Estou acompanhando junto ao Guerreiro a alteração desse provedor pra Limeira.
Na página https://limeira.iibr.com.br/dev/dev_dashboard.php tem um exemplo de conteúdo de XML e um token, lá informa que a integridade resultante teria que ser 61aec2215401d0099d85d70a56d72949860ca07c55620c37b49f8f2da7cf9a671afac6c96d95bd74f9304b97cebc6a90cdf9f7134b2a5f41a12629f7d6111ba1
Acabei de atualizar os fontes e vi que a função que gera esse hash da integridade agora está gerando usando também o conteúdo do XML que é um ponto que realmente precisava pra função, mas pra teste se passar o conteúdo dado de exemplo por eles + o token ainda não gera um hash de integridade igual ao deles.
Eu consegui fazer gerar certinho fazendo 3 alterações na função disponibilizada:
o StringReplace passando como parâmetro isso "'/[^\x20-\x7E]+/'" não dá certo no Delphi, vi com uma pessoa que conhece PHP e isso em PHP seria pra retirar tudo o que não está dentro dessa faixa onde o x20 em hexadecimal é referente ao espaço e x7E em hexadecimal é referente ao ~ sobrando todas as letras maiusculas e minusculas os números e vários caracteres como !"#$%¨*( ) entre outros, com isso pro meu teste eu troquei esse StringReplace retirando tudo o que tem de acento que eu lembrei que é o que essa função em PHP faria segundo o que me disseram pois na faixa não tem nada acentuado, no meu teste não levei em consideração TAB por exemplo.
o penúltimo parâmetro do SSL.CalcHash que está outBase64 deveria ser outHexa
passei por fim um lowercase pra ficar com as letras minusculas como está o exemplo deles
Devido a pressa pode ser melhorado o código mas a alteração que eu fiz está em anexo apenas com o conteúdo da função GerarIntegridade da unit ACBrNFSe, nele está comentado inclusive o conteúdo e token do teste deles, descomentando e debugando esse teste o Result vai gerar exatamente o valor que eles geraram lá na página.
Dito tudo isso, da forma que testei o componente ficaria praticamente igual ao sugerido por eles, mas em teste feito nem assim o erro da integridade se resolve, mas teremos um XML com o conteúdo como deveria estar segundo o que nos foi passado.
AlterFuncaoGerarIntegridade.txt