Skip to main content

Richiesta e fornitura di certificati firmati dall'autorità di certificazione tramite PLC Shell

Attualmente è possibile creare un CSR per un certificato PLC solo tramite la shell PLC dell'editor dei dispositivi.

Importante

Quando si crea un CSR (Certificate Signing Request), il PLC aggiunge tutte le estensioni X509 richieste alla richiesta di firma del certificato. Di conseguenza, un'autorità di certificazione (CA) può aggiungere alcune estensioni, ma non può omettere le estensioni esistenti. Se le estensioni del CSR non sono presenti nel certificato firmato, non possono essere utilizzate dal PLC

Tieni presente che il certificato firmato dall'autorità di certificazione ha applicato le seguenti voci del CSR: Key Usage, Extended Key Usage, Subject Alternative Name, ognuno con il Critical flag.Le seguenti estensioni devono essere incluse nel CSR: Key Usage, Extended Key Usage, Subject Alternative Name, ognuno con il Critical bandiera.

  1. Innanzitutto, si genera una richiesta di certificato per tutti i certificati o i componenti richiesti (CSR = Certificate Signing Request). Questi possono anche diventare certificati client (ad esempio, per il client OPC UA). A tale scopo, fai clic su PLC Shell scheda del controller. Nella riga di immissione, digitare cert-createcsr comando.

    Syntax: cert-createcsr [<number retrieved by \"cert-getapplist\">] [encoding=Base64 | ASN.1]

    <number retrieved by \"cert-getapplist\">

    Facoltativo: specificare il numero di un singolo componente dall'output di cert -getapplist. Se non specificato, i certificati vengono generati per tutti i componenti generati.

    encoding=Base64 | ASN.1

    Opzionale: specificazione del formato di esportazione, impostazione standard: ASN.1.

    ANS.1: Formato file binario per certificati, CRS e chiavi asimmetriche.

    Base64: Rappresentazione testuale dei dati ASN.1, basata sulla codifica Base64.

    Nota

    Il formato del file può essere specificato dalle CA. Quindi la CSR viene generata automaticamente nel formato corretto.

    In caso contrario, è possibile anche la conversione senza perdita di dati da un formato all'altro. Ad esempio usando OpenSSL:

    openssl req -in <file name> -inform <DER|PEM> -out <file name_new> -outform <PEM|DER>

    DER corrisponde all'ASN.1 PEM corrisponde a Base64

  2. Fai clic su Registra scheda e quindi fare clic su _cds_icon_update.png pulsante di aggiornamento.

    Nelle voci del registro, puoi vedere che i file CSR sono stati generati.

  3. Fai clic su File scheda e apri il percorso del file cert/export nella parte destra del Runtime dialogo.

    Le export la cartella contiene i file CSR generati.

    Esempio: 0_CmpsecureChannl.csr, 1_CmpApp.csr, 2_CmpWebServer.csr

  4. Seleziona un percorso di file in cui desideri inserire i file CSR nella parte sinistra del Host finestra di dialogo, contrassegna i file CSR nella parte destra della finestra di dialogo e fai clic _cds_button_double_arrow_left.png.

    I file CSR vengono copiati nella cartella richiesta.

  5. Queste richieste di certificato possono essere firmate da un'autorità di certificazione (CA). Di conseguenza, si ottiene un certificato firmato dall'autorità di certificazione.

  6. Nei passaggi seguenti, importi questi certificati firmati nel controller.

    Nota

    Dopo aver riavviato il controller, i certificati firmati dalla CA vengono utilizzati automaticamente.

    Suggerimento

    In alternativa, puoi anche usare il 0_Global: Produkt Security Agent per trasferire i certificati al controller. Per ulteriori informazioni, consulta: CODESYS Security Agent

  7. Seleziona il Percorso cert/import nella parte destra del Runtime dialogo.

  8. Nella parte sinistra del Ospite finestra di dialogo, seleziona il percorso nel file system in cui hai salvato i certificati firmati e selezionato i certificati.

  9. Clicca _cds_button_double_arrow_right.png.

    I certificati vengono copiati nel cert/import cartella.

  10. Fai clic su PLC Shell scheda.

  11. Type the cert-import own <file name of the certificate.cer> command in the input line of the tab and press the Enter key.

    The signed certificates are available to the runtime servers.

Nota

Nel file di configurazione del controller (ad esempio, CODESYSControl.cfg), il nome dell'organizzazione può essere impostato nel certificato per un server OPC UA con la seguente voce:

[CmpOPCUAServer]

SECURITY.CompanyOrOrganizationName="<organization name>"

Se il CODESYS Security Agent è installato, allora è anche possibile modificare Impostazioni di comunicazione nella scheda delle impostazioni di comunicazione dell'editor del dispositivo.