[RESOLVIDO] Problema PDF e HTTPS

Se no log, a url para o arquivo .html está sendo inicada pelo protocolo “https”, o caso é um bug.

Porém, já está sob análise de nossa equipe, e o mais breve possível será disponibilizada a correção.

Também estou com o mesmo problema. Observando o arquivo .log gerado juntamento com o pdf, o caminho é http e nao https. Copiando o link e acrescentando o “s” funciona perfeitamente.

Até hoje com problemas?

A solução temporária, foi passar a aplicação toda para http. Mas ainda espero uma solução, afinal o intuito é usar a hospedagem com certificação (https).

Eu estava com estes problema.
Publicação full 8.1.066 + chmod correto nas pastas do _lib.
Agora funciona normal.

Fiz um teste no meu server com https via celular Android e gerou o PDF normalmente.

quais as permissões que você usou? em quais pastas? toda a pasta _lib?

As permissões podem varia conforme a configuração da hospedagem.
Mas use isto que dará certo: https://suporte.scriptcase.com.br/index.php?/Knowledgebase/Article/View/442/32/consertando-permissoes-do-scriptcase-no-seu-host
Se o teu caso for permissão

Bom dia o tópico é velho mas vou reabrir.
Mudei de servidor para o último Debian -> 9 stretch com scriptcase 9.0.43.
Sem Https gera o pdf, com https não gera.
Já dei permissão 777 no executável do wkhtmltopdf e já baixei uma versão mais atualizada dele.
O erro que acontece é:

/var/www/xxxxxxx/xxxxxxx/_lib/prod/third/wkhtmltopdf/linux-amd64/./wkhtmltopdf-amd64 --page-size Letter --orientation Portrait --header-right “[page]” https://www.xxxxxxxcom.br/_lib/tmp/sc_grid_mariadb_html_4c00g1hapugcbrqotrnam58k46.html /var/www/xxxxxxx/xxxxxxx/xxxxxxx/xxxxxxx/_lib/tmp/sc_pdf_20180327052059_934_grid_mariadb.pdf
Loading pages (1/6)
QSslSocket: cannot resolve CRYPTO_num_locks ] 10%
QSslSocket: cannot resolve CRYPTO_set_id_callback
QSslSocket: cannot resolve CRYPTO_set_locking_callback
QSslSocket: cannot resolve sk_free
QSslSocket: cannot resolve sk_num
QSslSocket: cannot resolve sk_pop_free
QSslSocket: cannot resolve sk_value
QSslSocket: cannot resolve SSL_library_init
QSslSocket: cannot resolve SSL_load_error_strings
QSslSocket: cannot resolve SSLv3_client_method
QSslSocket: cannot resolve SSLv23_client_method
QSslSocket: cannot resolve SSLv3_server_method
QSslSocket: cannot resolve SSLv23_server_method
QSslSocket: cannot resolve X509_STORE_CTX_get_chain
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
QSslSocket: cannot resolve SSLeay
QSslSocket: cannot call unresolved function CRYPTO_num_locks
QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function sk_num
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function SSL_library_init
Error: Failed loading page https://www.xxxxxxx.com.br/_lib/tmp/sc_grid_mariadb_html_4c00g1hapugcbrqotrnam58k46.html (sometimes it will work just to ignore this error with --load-error-handling ignore)
Exit with code 1 due to network error: UnknownNetworkError
QSslSocket: cannot call unresolved function CRYPTO_num_locks
QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback

Alguém sabe a solução?

PS: Outras pessoas estão passando por isto: https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3001
Parece que o Debian Stretch teve algumas coisas modificadas.
A solução que funcionou para mim foi instalar a libssl1.0-dev
apt-get install libssl1.0-dev

Problema resolvido.

BUG que vai e volta.

Neymar favor se posicionar.

Foi corrigido há muito tempo. Só ver o changelog:
SCRIPTCASE V9.0.015
11/08/2017 07:00 - Corrigido problema da exportação PDF em ambientes que aceitam apenas o protocolo https.

Desde esta época é utilizada a versão 0.12.4 , a qual até hoje não possui problemas com geração sobre o protocolo https.

Segue exemplo funcional: https://www.scriptcase.myhoost.com/scriptcase9/app/webinar_security/grid_categories_1/

O que houve com o “Alexandre Pereira Bühler” foi a falta da dependência da biblioteca que gera o PDF no SO dele.

Nosso instalador automático já leva todas as dependências, assim como nosso serviço de hospedagem ( vide link acima ).

Ronyan, apesar desse meu post ser de de novembro de 2018 e só estar recebendo uma resposta agora, meu problema persistia até sexta feira.

Alexandre relatou o problema a vocês com grande grau de detalhamento técnico e o vem fazendo a tempos.

Não utilizo vosso instalador automático, acredito que ele atende bem quem utiliza o Scriptcase IDE em modo local, não é meu caso.

Eu não uso a hospedagem de vocês assim como muitos não utilizam.

Eu não tenho competência para para tratar desse assunto mas o Alexandre tem.

Meu problema foi resolvido esse final de semana (pelo Alexandre) onde foi necessário a atualização da distro do linux em meu servidor para tal.

Apesar de eu estar passando por esse problema a inúmeros meses o único retorno que obtive da NM foi para atualizar a versão do SC que já continha a atualização com a correção da wkhtmltopdf (é obvio que eu já tinha atualizado), inclusivo o Sr Rafael retornou email hoje sugerindo a mesma coisa.

Por favor indique na documentação do Scriptcase onde descreve a necessidade de criar as referidas dependências do executável responsável pela exportação PDF em instalações customizadas?

Até onde sei, não há obrigatoriedade de utilizar o instalador da NM e o provedor da NM para perfeito funcionamento do Scriptcase.

Faltou por parte da NM analisar quem fazia a reclamação e dar uma atenção mais específica ao problema.

Mas em fim finalmente a partir de hoje meus clientes podem exporta suas consultas para pdf.

Ronyan aproveitando abri uns tópicos com BUGs aqui, se puder retornar aqui a comunidade fica agradecida.

Haroldo, é como falei: Parece que a Netmake nem se deu ao trabalho de abrir os links que envie nos e-mails em 2018.
Não é agora que será diferente. Continuam usando esta versão 0.12.4 que depende do ssl 1.0
Aqui consta que o bug somente foi arrumado completamente na 0.12.5.
https://github.com/wkhtmltopdf/wkhtmltopdf/issues/3001
E somente depois de atualizar para esta versão ficamos livres da biblioteca defasada libssl1.0-dev.
Eu acho que a netmake não sabe que versão 1.0 do openssl foi afetado por causa do Heartbleed bug.
http://heartbleed.com/
https://en.wikipedia.org/wiki/Heartbleed
“Heartbleed é um bug na biblioteca de software de criptografia open-source OpenSSL, que permite a um atacante ler a memória de um servidor ou de um cliente, permitindo a este recuperar chaves SSL privadas do servidor. [1][2][3] Os logs que foram examinados até agora, levam a crer que alguns hackers podem ter explorado a falha de segurança pelo menos cinco meses antes da falha ser descoberta por equipes de segurança.”
Uma falha de segurança muito grande.
O fix deste bug foi que gerou toda esta situação no wkhtmltopdf.
Esta interação é feita mais uma vez por consideração a você Haroldo.
Comigo não quero mais diálogo com a Netmake. Somente o estritamente necessário.
Como dizem os antigos: “O negócio e ir levando com a barriga.”
Pois para Netmake também parece que somente existe a hospedagem deles e o instalador automático.

PS: php 5.6 sem libssl1.0-dev não vai com wkhtmltopdf 0.12.4.
Eu tenho um monte de usuários Scriptcase no meu servidor que ainda usam o SC8 ou rodam o SC9 no php 5.6.
E a solução ainda é gambiarra do libssl1.0-dev.

Foi como eu disse. Não tenho competência técnica para tal assunto.
Mas o Alexandre tem e foi quem resolveu meu problema.
No mais a NM precisa avaliar melhor a qualificação técnica de quem reporta um problema em vez de dar respostas no suporte ou no bugs padronizadas como se estivessem falando com quem acabou de fazer o seu primeuro cursinho de programação e está ingressando na área agora.
Por isso eu não reporto mais os problemas em bugs@. Se for do interesse da NM resolver os problemas das ferramenta e de bibliotecas de terceiros que leiam minhas publicações aqui no fórum.

Eu só quero ajudar.

Hoje recebi e-mail da netmake falando bobagem.
Parece que ninguém liga de comprometer a segurança do servidor por usar uma libssl defasada para que o wkhtmltopdf funcione.
O desenvolvedores do wkhtmltopdf estão errados, eu estou errado. O Certo é a netmake com o wkhtmltopdf 0.12.4
Segue print do ínicio do link que enviei e parece que ninguém leu:

[b]PS: nota-se -> "#### Fixed in 0.12.5 - Please update to this version.

!! Note that downgrading openssl is not a solution !!"[/b]

Um pedido de desculpas e de reconhecimento por parte da NM seria muito bem vindo.

De qualquer forma vida que se segue, estaremos aqui para elogiar quando valer o elogio e para criticar quando necessário para melhorar a ferramenta e amadurecer e profissionalizar ambos os lados: O Cliente e o Fornecedor.

Boa tarde, Alexandre!

Primeiramente parabéns, pois são muito bons seus posts e pelo sempre vejo (qdo tenho problema com SC, vc sempre tem uma solução e é bem ativo aqui no fórum oficial).

Vi conseguiu resolver o problema da geração dos PDFs e utiliza a instalação manual sobre Linux, que é a mesma que utilizo. E eu estou com este mesmo problema, veja se consegue me ajudar, pois já testei o que li aqui e em outros locais e só consegui fazer gerar o PDF, rodando manualmente o wkhtmltopdf.

Meu ambiente do servidor de produção/publicação:
Ubuntu 21.04
SC 9.6.018
libssl-dev:amd64 - 1.1.1j-1ubuntu3.5 - Secure Sockets Layer toolkit - development files
libssl1.1:amd64 - 1.1.1j-1ubuntu3.5 - Secure Sockets Layer toolkit - shared libraries
wkhtmltopdf - 0.12.6-1 - Command line utilities to convert html to pdf or image using
WebKit

Não consegui localizar como ver a versão do “wkhtmltopdf” interno do SC que fica em “/app/website.com.br/_lib/prod/third/wkhtmltopdf/linux-amd64/wkhtmltopdf-amd64”.

Ao rodar a geração por dentro da aplicação (como se fosse o usuário) ou executando o “wkhtmltopdf-amd64” à partir do diretório “/app/website.com.br/_lib/prod/third/wkhtmltopdf/linux-amd64” é me reportado:

root@web-scriptcase-prod:/app/website.com.br/_lib/prod/third/wkhtmltopdf/linux-amd64# ./wkhtmltopdf-amd64 --page-size A4 --orientation Portrait --header-right “[page]” http://website.com.br/_lib/tmp/sc_cns_n_adesao_html_utqhrjaenotv72sgae3dss5k5d.html /app/website.com.br/_lib/tmp/sc_pdf_9a38e9100c7769d447248877f52d1788_cns_n_adesao.pdf
Loading pages (1/6)
QSslSocket: cannot resolve CRYPTO_num_locks ] 10%
QSslSocket: cannot resolve CRYPTO_set_id_callback
QSslSocket: cannot resolve CRYPTO_set_locking_callback
QSslSocket: cannot resolve sk_free
QSslSocket: cannot resolve sk_num
QSslSocket: cannot resolve sk_pop_free
QSslSocket: cannot resolve sk_value
QSslSocket: cannot resolve SSL_library_init
QSslSocket: cannot resolve SSL_load_error_strings
QSslSocket: cannot resolve SSLv3_client_method
QSslSocket: cannot resolve SSLv23_client_method
QSslSocket: cannot resolve SSLv3_server_method
QSslSocket: cannot resolve SSLv23_server_method
QSslSocket: cannot resolve X509_STORE_CTX_get_chain
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf
QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf
QSslSocket: cannot resolve SSLeay
QSslSocket: cannot call unresolved function CRYPTO_num_locks
QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback
QSslSocket: cannot call unresolved function SSL_library_init
QSslSocket: cannot call unresolved function SSLv23_client_method
QSslSocket: cannot call unresolved function sk_num
Error: Failed loading page http://website.com.br/_lib/tmp/sc_cns_n_adesao_html_utqhrjaenotv72sgae3dss5k5d.html (sometimes it will work just to ignore this error with --load-error-handling ignore)
Exit with code 1 due to network error: HostNotFoundError
QSslSocket: cannot call unresolved function CRYPTO_num_locks
QSslSocket: cannot call unresolved function CRYPTO_set_id_callback
QSslSocket: cannot call unresolved function CRYPTO_set_locking_callback

E se eu rodar o wkhtmltopdf do sistema operacional à partir de qq diretório, é gerado o pdf normalmente, mesmo apontando para http ou https, ou seja, a nova versão já corrigiu o bug e ele consegue ler o caminho com https.

Então tentei forçar o Scriptcase a ler o wkhtmltopdf do sistema operacional, criando um link simbólico do wkhtmltopdf (que fica em /usr/bin/wkhtmltopdf) e copiando o arquivo “/usr/bin/wkhtmltopdf” para “/app/website.com.br/_lib/prod/third/wkhtmltopdf/linux-amd64/wkhtmltopdf-amd64”, e ao tentar gerar o PDF é me reportado:

The switch --header-right, is not support using unpatched qt, and will be ignored.QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to ‘/tmp/runtime-www-data’
Loading page (1/2)
Error: Failed to load http://website.com.br/_lib/tmp/sc_cns_n_adesao_html_utqhrjaenotv72sgae3dss5k5d.html, with network status code 3 and http status code 0 - Host website.com.br not found
Error: Failed loading page http://website.com.br/_lib/tmp/sc_cns_n_adesao_html_utqhrjaenotv72sgae3dss5k5d.html (sometimes it will work just to ignore this error with --load-error-handling ignore)
Exit with code 1 due to network error: HostNotFoundError

Caso você ou alguém saibam me ajudar, eu ficaria muito agradecido, pois a NM nunca consegue resolver e não se importa em resolver problemas dessa natureza, pois como vocês mesmo disseram, sempre mandam atualizar o SC, depois utilizar a instalação automática ou serviço de host deles, lamentável.

Obrigado e um grande abraço!

Obs: Não utilizei o libssl1.0-dev pois o Ubuntu 21.04 não deixou instalar por ser obsoleto, então foi utilizado o libssl1.1, o que creio que não é o problema. E sim o SC utilizar o wkhtmltopdf interno e não ler o wkhtmltopdf do sistema operacional, que está funcional, pois ao gerar manualmente ele gera com sucesso o PDF.

Creio que o pulo do gato seria alterar a config para o SC ler o wkhtmltopdf do sistema operacional.

Olá.
Sei que isso tudo já está antigo.
Eu tive esse mesmo problema em um servidor novo que estou montando para o desenvolvimento e não lembrava mais o que tinha feito no antigo.
Estou usando o Ubuntu 22.04 LTS e instalei o WKHTMLTOPDF com o apt.
Depois renomeei o wkhtmltopdf-amd64 para um .old e copiei o wkhtmltopdf novo para a pasta do SC e alterei o nome dele para wkhtmltopdf-amd64 .
Funcionou sem problemas…

Posts marcados como RESOLVIDOS, não é bom serem reabertos.
Abra um post novo, com sugestão para o problema.