Comments (7)
por ser um objeto de valor, ele deve receber todas as propriedades no construtor:
public function __construct(
$companyName,
$companyIdentifier,
$privateKey,
$publicKey,
$caInfo,
\DateTime $validFrom,
\DateTime $validTo
)
from sped-common.
O certificado seria passado como na construção ou por um método
from sped-common.
quem deve ler o arquivo é outra classe e depois preencher essas propriedades 😉
from sped-common.
Sugiro mudar de
caInfo: string caminho absoluto do arquivo do certificado
Para
companyName: string nome da empresa
privateKey: string chave privada PEM
publicKey: string chave pública PEM
cert: string certificado PEM (chave publica + cadeia )
caInfo: string path para cacerts do sistema operacional
validFrom: \DateTime data de início da validade do certificado
validTo: \DateTime data de término da validade do certificado
from sped-common.
@robmachado editei conforme sugeriu, faz bastante sentido!
from sped-common.
Vamos falar de dados brutos dos certificados:
1 - openssl_pkcs12_read() --> fornece as chaves (privada e publica) apenas isso
2 - openssl_x509_parse(openssl_x509_read($pubKey)) --> retorna arrays com validFrom, validTo companyName
Falta uma informação crucial CNPJ do certificado, para isso só usando classes como a ASN que faz a leitura dos OID (conjunto extenso de dados binários inseridos na chave)
from sped-common.
@robmachado adicionei o companyIdentifier
para representar o CNPJ da empresa no certificado
from sped-common.
Related Issues (20)
- Digest Value não corresponde ao conteúdo HOT 9
- Certificado Transmissor sem CNPJ HOT 4
- Possibilidade de Assinar uma Tag dentro de outra com o mesmo Nome HOT 1
- Erro quando na razão social do emitente contem a caractere '&'
- SoapInterface sem o método público httpVersion HOT 1
- FileNotFoundException em sistemas altamente concorrentes
- Falha ao assinar xml nfse campinas HOT 3
- Erro em quebra de linha na tag informação complementar (infCpl) após upgrade para versão v5.0.48 HOT 2
- Suporte League/Flysystem 2.0 HOT 3
- PSR/LOG HOT 3
- Classe Certificate\PublicKey (validFrom e validTo) do certificado HOT 2
- OpenSSL 3 HOT 7
- Erro de ortografia
- Certificado A3 e A5 na nuvem HOT 1
- Dúvida: É possível usar a classe para assinar documentos txt? HOT 2
- PHP 8.1 Erro de indice do array HOT 1
- Função str_contains somente PHP 8 HOT 13
- Assinatura do EFD-REINF HOT 1
- Assinar nfe sem certificado digital (com login e senha) HOT 2
- É possível criar múltiplas assinaturas num unico Documento XML? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sped-common.