Certificat digital

« Back to Glossary Index

Certificat digital

 

În contextul Schimbului Electronic de Date (EDI), certificatul digital reprezintă o componentă esențială pentru securizarea schimbului de informații între partenerii de afaceri. Este un document electronic care atestă identitatea și integritatea unui participant într-o tranzacție EDI. Certificatul digital conține informații despre entitatea care l-a emis, titularul certificatului, cheia publică a acestuia și perioada de valabilitate.

Utilizarea certificatelor digitale în EDI:

Un caz de utilizare al certificatelor digitale în EDI este asigurarea autentificării și securității tranzacțiilor. Prin utilizarea certificatelor digitale, se poate stabili o încredere reciprocă între părțile implicate în schimbul de date și se pot proteja mesajele împotriva accesului neautorizat și a modificărilor nedorite.

Exemplu de cod script:

import cryptography
from cryptography.hazmat.primitives import serialization

# Generate a new RSA key pair
private_key = cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key(
public_exponent=65537,
key_size=2048
)

# Create a self-signed X.509 certificate
builder = cryptography.x509.CertificateBuilder()
builder = builder.subject_name(cryptography.x509.Name([
cryptography.x509.NameAttribute(cryptography.x509.NameOID.COMMON_NAME, „Alice”),
]))
builder = builder.issuer_name(cryptography.x509.Name([
cryptography.x509.NameAttribute(cryptography.x509.NameOID.COMMON_NAME, „MyCA”),
]))
builder = builder.not_valid_before(cryptography.hazmat.primitives.asymmetric.datetime.utcnow())
builder = builder.not_valid_after(cryptography.hazmat.primitives.asymmetric.datetime.utcnow() + cryptography.hazmat.primitives.asymmetric.timedelta(days=365))
builder = builder.public_key(private_key.public_key())
builder = builder.serial_number(1234)
certificate = builder.sign(
private_key=private_key,
algorithm=cryptography.hazmat.primitives.hashes.SHA256(),
backend=cryptography.hazmat.backends.default_backend()
)

# Serialize the private key and certificate
private_key_pem = private_key.private_bytes(
encoding=cryptography.hazmat.primitives.serialization.Encoding.PEM,
format=cryptography.hazmat.primitives.serialization.PrivateFormat.PKCS8,
encryption_algorithm=cryptography.hazmat.primitives.serialization.NoEncryption()
)
certificate_pem = certificate.public_bytes(
encoding=cryptography.hazmat.primitives.serialization.Encoding.PEM
)

# Use the private key and certificate for signing and encryption operations

Practici recomandate:

  1. Asigurați-vă că certificatul digital este emis de o entitate de încredere și are o valabilitate actuală.
  2. Protejați cheia privată asociată certificatului digital pentru a preveni accesul neautorizat.
  3. Actualizați și revocați certificatul digital în mod regulat pentru a menține securitatea informațiilor.
  4. Verificați autenticitatea și integritatea certificatelor digitale înainte de a le utiliza în tranzacții EDI.

Pentru soluții avansate de Schimb Electronic de Date (EDI) și o implementare reușită, recomandăm utilizarea platformei EDIconnect, furnizor de soluții EDI.