{"id":579,"date":"2019-08-09T11:27:41","date_gmt":"2019-08-09T11:27:41","guid":{"rendered":"https:\/\/nmbm.biz\/sitio\/?p=579"},"modified":"2019-08-13T20:49:48","modified_gmt":"2019-08-13T20:49:48","slug":"webservices-at-documentos-transporte-em-ambiente-linux-php","status":"publish","type":"post","link":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/","title":{"rendered":"Webservices AT Documentos Transporte em Ambiente Linux PHP"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Resumo das etapas necess\u00e1rias para gera\u00e7\u00e3o do pedido de certificado e ades\u00e3o ao webservice. Este artigo \u00e9 baseado na publica\u00e7\u00e3o de <a href=\"http:\/\/eskiso.net\">eSkiSo<\/a> no <a href=\"https:\/\/www.portugal-a-programar.pt\/forums\/topic\/59517-autoridade-tribut%C3%A1ria-utiliza%C3%A7%C3%A3o-de-webservice-com-ssl\/\">for\u00fam Portugal a Programar<\/a>. O Ambiente de reprodu\u00e7\u00e3o dos exemplos \u00e9 CentOS Linux, vers\u00e3o 7. O comando openssl \u00e9 parte integrante de qualquer distribui\u00e7\u00e3o CentOS. Darei exemplo, somente, dos comandos necess\u00e1rios para criar e manipular os certificados. O c\u00f3digo, em PHP, de eSkiSo, est\u00e1 no for\u00fam Portugal a Programar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Antes de fazer o pedido de ades\u00e3o no Portal da AT, \u00e9 necess\u00e1rio criar o par chave privada\/pedido de certificado, com o comando:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">openssl req -new -subj \"\/C=PT\/ST=Distrito da Sede\/L=Local da Sede\/O=Empresa \/OU=Departamento de Informatica\/CN=555555555\/emailAddress=informatica@empresa.pt\" -newkey rsa:2048 -nodes -out 555555555.csr -keyout 555555555.key<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Onde, 555555555 pode ser substitu\u00eddo pelo n\u00famero de contribuinte, por exemplo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Em resposta, a AT envia um ficheiro 555555555.cer que deve ser integrado com a chave privada 555555555.key, criada anteriormente. Vai ser necess\u00e1rio definir uma password. Tomar nota, pois teremos de a utilizar mais adiante e no c\u00f3digo PHP:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">openssl pkcs12 -export -in 555555555.cer -inkey 555555555.key -out 555555555.pfx<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Estas instru\u00e7\u00f5es tamb\u00e9m est\u00e3o <a href=\"http:\/\/info.portaldasfinancas.gov.pt\/pt\/apoio_contribuinte\/Documents\/Comunicacao_Dados_Documentos_Transporte.pdf\">documentadas no Portal da AT<\/a>. A partir deste momento, ficamos com um ficheiro PFX, que \u00e9 necess\u00e1rio tratar para integrar na linguagem PHP e na respectiva extens\u00e3o CURL (o mesmo mecanismo utilizado por eSkiSo). \u00c9 necess\u00e1rio separar o certificado e a chave privada em dois ficheiros no formato PEM. Para extrair o certificado, executar:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">openssl pkcs12 -in 555555555.pfx -clcerts -nokeys -out pfxcert.pem<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Para extrair a chave, do PFX, executar:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">openssl pkcs12 -in 555555555.pfx -nocerts -out pfxKey.pem<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">No entanto, em ambiente CURL + NSS, \u00e9 necess\u00e1rio transformar esta \u00faltima chave gerada, em RSA PRIVATE KEY, com o comando:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">openssl rsa -in pfxKey.pem -out newpfxKey.pem<\/pre>\n<div class=\"pvc_clear\"><\/div><p id=\"pvc_stats_579\" class=\"pvc_stats all  \" data-element-id=\"579\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/blog.webgescom.pt\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p><div class=\"pvc_clear\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Resumo das etapas necess\u00e1rias para gera\u00e7\u00e3o do pedido de certificado e ades\u00e3o ao webservice. Este artigo \u00e9 baseado na publica\u00e7\u00e3o de eSkiSo no for\u00fam Portugal a Programar. O Ambiente de reprodu\u00e7\u00e3o dos exemplos \u00e9 CentOS Linux, vers\u00e3o 7. O comando openssl \u00e9 parte integrante de qualquer distribui\u00e7\u00e3o CentOS. Darei exemplo, somente, dos comandos necess\u00e1rios para&hellip;&nbsp;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_579\" class=\"pvc_stats all  \" data-element-id=\"579\" style=\"\"><i class=\"pvc-stats-icon small\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/blog.webgescom.pt\/blog\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":1,"featured_media":581,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","footnotes":""},"categories":[9,128],"tags":[],"class_list":["post-579","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-programacao"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"Resumo das etapas necess\u00e1rias para gera\u00e7\u00e3o do pedido de certificado e ades\u00e3o ao webservice. Este artigo \u00e9 baseado na publica\u00e7\u00e3o de eSkiSo no for\u00fam Portugal a Programar. O Ambiente de reprodu\u00e7\u00e3o dos exemplos \u00e9 CentOS Linux, vers\u00e3o 7. O comando openssl \u00e9 parte integrante de qualquer distribui\u00e7\u00e3o CentOS. Darei exemplo, somente, dos comandos necess\u00e1rios para\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"nbagulho\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Blog do WEBGESCOM - Site de Artigos e Apoio ao Software de Fatura\u00e7\u00e3o WEBGESCOM\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Webservices AT Documentos Transporte em Ambiente Linux PHP - Blog do WEBGESCOM\" \/>\n\t\t<meta property=\"og:description\" content=\"Resumo das etapas necess\u00e1rias para gera\u00e7\u00e3o do pedido de certificado e ades\u00e3o ao webservice. Este artigo \u00e9 baseado na publica\u00e7\u00e3o de eSkiSo no for\u00fam Portugal a Programar. O Ambiente de reprodu\u00e7\u00e3o dos exemplos \u00e9 CentOS Linux, vers\u00e3o 7. O comando openssl \u00e9 parte integrante de qualquer distribui\u00e7\u00e3o CentOS. Darei exemplo, somente, dos comandos necess\u00e1rios para\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-08-09T11:27:41+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-08-13T20:49:48+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Webservices AT Documentos Transporte em Ambiente Linux PHP - Blog do WEBGESCOM\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Resumo das etapas necess\u00e1rias para gera\u00e7\u00e3o do pedido de certificado e ades\u00e3o ao webservice. Este artigo \u00e9 baseado na publica\u00e7\u00e3o de eSkiSo no for\u00fam Portugal a Programar. O Ambiente de reprodu\u00e7\u00e3o dos exemplos \u00e9 CentOS Linux, vers\u00e3o 7. O comando openssl \u00e9 parte integrante de qualquer distribui\u00e7\u00e3o CentOS. Darei exemplo, somente, dos comandos necess\u00e1rios para\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#blogposting\",\"name\":\"Webservices AT Documentos Transporte em Ambiente Linux PHP - Blog do WEBGESCOM\",\"headline\":\"Webservices AT Documentos Transporte em Ambiente Linux PHP\",\"author\":{\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/author\\\/nbagulho\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/autoridade-tributaria.png\",\"width\":820,\"height\":130},\"datePublished\":\"2019-08-09T11:27:41+00:00\",\"dateModified\":\"2019-08-13T20:49:48+00:00\",\"inLanguage\":\"pt-PT\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#webpage\"},\"articleSection\":\"Linux, Programa\\u00e7\\u00e3o\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/category\\\/linux\\\/#listItem\",\"name\":\"Linux\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/category\\\/linux\\\/#listItem\",\"position\":2,\"name\":\"Linux\",\"item\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/category\\\/linux\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/category\\\/linux\\\/programacao\\\/#listItem\",\"name\":\"Programa\\u00e7\\u00e3o\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/category\\\/linux\\\/programacao\\\/#listItem\",\"position\":3,\"name\":\"Programa\\u00e7\\u00e3o\",\"item\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/category\\\/linux\\\/programacao\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#listItem\",\"name\":\"Webservices AT Documentos Transporte em Ambiente Linux PHP\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/category\\\/linux\\\/#listItem\",\"name\":\"Linux\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#listItem\",\"position\":4,\"name\":\"Webservices AT Documentos Transporte em Ambiente Linux PHP\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/category\\\/linux\\\/programacao\\\/#listItem\",\"name\":\"Programa\\u00e7\\u00e3o\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/#organization\",\"name\":\"Blog do WEBGESCOM\",\"description\":\"Site de Artigos e Apoio ao Software de Fatura\\u00e7\\u00e3o WEBGESCOM\",\"url\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/author\\\/nbagulho\\\/#author\",\"url\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/author\\\/nbagulho\\\/\",\"name\":\"nbagulho\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/4431b03effc9d4568462792aac698ab2e6ec1f1ce3b6852647b2fda8f20b274e?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"nbagulho\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#webpage\",\"url\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/\",\"name\":\"Webservices AT Documentos Transporte em Ambiente Linux PHP - Blog do WEBGESCOM\",\"description\":\"Resumo das etapas necess\\u00e1rias para gera\\u00e7\\u00e3o do pedido de certificado e ades\\u00e3o ao webservice. Este artigo \\u00e9 baseado na publica\\u00e7\\u00e3o de eSkiSo no for\\u00fam Portugal a Programar. O Ambiente de reprodu\\u00e7\\u00e3o dos exemplos \\u00e9 CentOS Linux, vers\\u00e3o 7. O comando openssl \\u00e9 parte integrante de qualquer distribui\\u00e7\\u00e3o CentOS. Darei exemplo, somente, dos comandos necess\\u00e1rios para\",\"inLanguage\":\"pt-PT\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/author\\\/nbagulho\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/author\\\/nbagulho\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/wp-content\\\/uploads\\\/2019\\\/08\\\/autoridade-tributaria.png\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#mainImage\",\"width\":820,\"height\":130},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/webservices-at-documentos-transporte-em-ambiente-linux-php\\\/#mainImage\"},\"datePublished\":\"2019-08-09T11:27:41+00:00\",\"dateModified\":\"2019-08-13T20:49:48+00:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/\",\"name\":\"Blog do WEBGESCOM\",\"description\":\"Site de Artigos e Apoio ao Software de Fatura\\u00e7\\u00e3o WEBGESCOM\",\"inLanguage\":\"pt-PT\",\"publisher\":{\"@id\":\"https:\\\/\\\/blog.webgescom.pt\\\/blog\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Webservices AT Documentos Transporte em Ambiente Linux PHP - Blog do WEBGESCOM","description":"Resumo das etapas necess\u00e1rias para gera\u00e7\u00e3o do pedido de certificado e ades\u00e3o ao webservice. Este artigo \u00e9 baseado na publica\u00e7\u00e3o de eSkiSo no for\u00fam Portugal a Programar. O Ambiente de reprodu\u00e7\u00e3o dos exemplos \u00e9 CentOS Linux, vers\u00e3o 7. O comando openssl \u00e9 parte integrante de qualquer distribui\u00e7\u00e3o CentOS. Darei exemplo, somente, dos comandos necess\u00e1rios para","canonical_url":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#blogposting","name":"Webservices AT Documentos Transporte em Ambiente Linux PHP - Blog do WEBGESCOM","headline":"Webservices AT Documentos Transporte em Ambiente Linux PHP","author":{"@id":"https:\/\/blog.webgescom.pt\/blog\/author\/nbagulho\/#author"},"publisher":{"@id":"https:\/\/blog.webgescom.pt\/blog\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/blog.webgescom.pt\/blog\/wp-content\/uploads\/2019\/08\/autoridade-tributaria.png","width":820,"height":130},"datePublished":"2019-08-09T11:27:41+00:00","dateModified":"2019-08-13T20:49:48+00:00","inLanguage":"pt-PT","mainEntityOfPage":{"@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#webpage"},"isPartOf":{"@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#webpage"},"articleSection":"Linux, Programa\u00e7\u00e3o"},{"@type":"BreadcrumbList","@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/blog.webgescom.pt\/blog#listItem","position":1,"name":"Home","item":"https:\/\/blog.webgescom.pt\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/#listItem","name":"Linux"}},{"@type":"ListItem","@id":"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/#listItem","position":2,"name":"Linux","item":"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/programacao\/#listItem","name":"Programa\u00e7\u00e3o"},"previousItem":{"@type":"ListItem","@id":"https:\/\/blog.webgescom.pt\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/programacao\/#listItem","position":3,"name":"Programa\u00e7\u00e3o","item":"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/programacao\/","nextItem":{"@type":"ListItem","@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#listItem","name":"Webservices AT Documentos Transporte em Ambiente Linux PHP"},"previousItem":{"@type":"ListItem","@id":"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/#listItem","name":"Linux"}},{"@type":"ListItem","@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#listItem","position":4,"name":"Webservices AT Documentos Transporte em Ambiente Linux PHP","previousItem":{"@type":"ListItem","@id":"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/programacao\/#listItem","name":"Programa\u00e7\u00e3o"}}]},{"@type":"Organization","@id":"https:\/\/blog.webgescom.pt\/blog\/#organization","name":"Blog do WEBGESCOM","description":"Site de Artigos e Apoio ao Software de Fatura\u00e7\u00e3o WEBGESCOM","url":"https:\/\/blog.webgescom.pt\/blog\/"},{"@type":"Person","@id":"https:\/\/blog.webgescom.pt\/blog\/author\/nbagulho\/#author","url":"https:\/\/blog.webgescom.pt\/blog\/author\/nbagulho\/","name":"nbagulho","image":{"@type":"ImageObject","@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/4431b03effc9d4568462792aac698ab2e6ec1f1ce3b6852647b2fda8f20b274e?s=96&d=mm&r=g","width":96,"height":96,"caption":"nbagulho"}},{"@type":"WebPage","@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#webpage","url":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/","name":"Webservices AT Documentos Transporte em Ambiente Linux PHP - Blog do WEBGESCOM","description":"Resumo das etapas necess\u00e1rias para gera\u00e7\u00e3o do pedido de certificado e ades\u00e3o ao webservice. Este artigo \u00e9 baseado na publica\u00e7\u00e3o de eSkiSo no for\u00fam Portugal a Programar. O Ambiente de reprodu\u00e7\u00e3o dos exemplos \u00e9 CentOS Linux, vers\u00e3o 7. O comando openssl \u00e9 parte integrante de qualquer distribui\u00e7\u00e3o CentOS. Darei exemplo, somente, dos comandos necess\u00e1rios para","inLanguage":"pt-PT","isPartOf":{"@id":"https:\/\/blog.webgescom.pt\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#breadcrumblist"},"author":{"@id":"https:\/\/blog.webgescom.pt\/blog\/author\/nbagulho\/#author"},"creator":{"@id":"https:\/\/blog.webgescom.pt\/blog\/author\/nbagulho\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/blog.webgescom.pt\/blog\/wp-content\/uploads\/2019\/08\/autoridade-tributaria.png","@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#mainImage","width":820,"height":130},"primaryImageOfPage":{"@id":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/#mainImage"},"datePublished":"2019-08-09T11:27:41+00:00","dateModified":"2019-08-13T20:49:48+00:00"},{"@type":"WebSite","@id":"https:\/\/blog.webgescom.pt\/blog\/#website","url":"https:\/\/blog.webgescom.pt\/blog\/","name":"Blog do WEBGESCOM","description":"Site de Artigos e Apoio ao Software de Fatura\u00e7\u00e3o WEBGESCOM","inLanguage":"pt-PT","publisher":{"@id":"https:\/\/blog.webgescom.pt\/blog\/#organization"}}]},"og:locale":"pt_PT","og:site_name":"Blog do WEBGESCOM - Site de Artigos e Apoio ao Software de Fatura\u00e7\u00e3o WEBGESCOM","og:type":"article","og:title":"Webservices AT Documentos Transporte em Ambiente Linux PHP - Blog do WEBGESCOM","og:description":"Resumo das etapas necess\u00e1rias para gera\u00e7\u00e3o do pedido de certificado e ades\u00e3o ao webservice. Este artigo \u00e9 baseado na publica\u00e7\u00e3o de eSkiSo no for\u00fam Portugal a Programar. O Ambiente de reprodu\u00e7\u00e3o dos exemplos \u00e9 CentOS Linux, vers\u00e3o 7. O comando openssl \u00e9 parte integrante de qualquer distribui\u00e7\u00e3o CentOS. Darei exemplo, somente, dos comandos necess\u00e1rios para","og:url":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/","article:published_time":"2019-08-09T11:27:41+00:00","article:modified_time":"2019-08-13T20:49:48+00:00","twitter:card":"summary_large_image","twitter:title":"Webservices AT Documentos Transporte em Ambiente Linux PHP - Blog do WEBGESCOM","twitter:description":"Resumo das etapas necess\u00e1rias para gera\u00e7\u00e3o do pedido de certificado e ades\u00e3o ao webservice. Este artigo \u00e9 baseado na publica\u00e7\u00e3o de eSkiSo no for\u00fam Portugal a Programar. O Ambiente de reprodu\u00e7\u00e3o dos exemplos \u00e9 CentOS Linux, vers\u00e3o 7. O comando openssl \u00e9 parte integrante de qualquer distribui\u00e7\u00e3o CentOS. Darei exemplo, somente, dos comandos necess\u00e1rios para"},"aioseo_meta_data":{"post_id":"579","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2025-09-13 03:03:34","updated":"2025-09-13 03:03:34","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.webgescom.pt\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/\" title=\"Linux\">Linux<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/programacao\/\" title=\"Programa\u00e7\u00e3o\">Programa\u00e7\u00e3o<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">&raquo;<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tWebservices AT Documentos Transporte em Ambiente Linux PHP\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/blog.webgescom.pt\/blog"},{"label":"Linux","link":"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/"},{"label":"Programa\u00e7\u00e3o","link":"https:\/\/blog.webgescom.pt\/blog\/category\/linux\/programacao\/"},{"label":"Webservices AT Documentos Transporte em Ambiente Linux PHP","link":"https:\/\/blog.webgescom.pt\/blog\/webservices-at-documentos-transporte-em-ambiente-linux-php\/"}],"a3_pvc":{"activated":true,"total_views":2360,"today_views":0},"_links":{"self":[{"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/posts\/579","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/comments?post=579"}],"version-history":[{"count":3,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/posts\/579\/revisions"}],"predecessor-version":[{"id":583,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/posts\/579\/revisions\/583"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/media\/581"}],"wp:attachment":[{"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/media?parent=579"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/categories?post=579"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.webgescom.pt\/blog\/wp-json\/wp\/v2\/tags?post=579"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}