RADLAN-SSL DEFINITIONS ::= BEGIN -- Title: RADLAN Ssl Private Extension -- Version: 7.35 -- Date: 20 Jan 2004 IMPORTS rnd FROM RADLAN-MIB DisplayString FROM SNMPv2-TC-v1 TruthValue, RowStatus FROM RADLAN-SNMPv2 Unsigned32, IpAddress, MODULE-IDENTITY, OBJECT-TYPE FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC; rlSsl MODULE-IDENTITY LAST-UPDATED "200309210000Z" ORGANIZATION "Radlan Computer Communications Ltd." CONTACT-INFO "radlan.com" DESCRIPTION "The private MIB module definition for SSL." REVISION "200309210000Z" DESCRIPTION "Added this MODULE-IDENTITY clause." ::= { rnd 100 } rlSslCertificateGenerationTable OBJECT-TYPE SYNTAX SEQUENCE OF RlSslCertificateGenerationEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is used for : 1. generating keys and self signed certificate - saved in flash and RAM (not in configuration file) 2. generating certificate requests - saved in RAM, can be read by rlSslCertificateExportTable 3. generating self signed certificate - saved in flash and RAM (not in configuraion file) By setting rlSslCertificateGenerationAction to the appropriate value this action takes place. The other fields of this table are used for each of this actions" ::= { rlSsl 1 } rlSslCertificateGenerationEntry OBJECT-TYPE SYNTAX RlSslCertificateGenerationEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION " The row definition for this table." INDEX { rlSslCertificateGenerationIndex } ::= { rlSslCertificateGenerationTable 1 } RlSslCertificateGenerationEntry ::= SEQUENCE { rlSslCertificateGenerationIndex INTEGER, rlSslCertificateGenerationId INTEGER, rlSslCertificateGenerationCountryName DisplayString, rlSslCertificateGenerationStateOrProvinceName DisplayString, rlSslCertificateGenerationLocalityName DisplayString, rlSslCertificateGenerationOrganizationName DisplayString, rlSslCertificateGenerationOrganizationUnitName DisplayString, rlSslCertificateGenerationCommonName DisplayString, rlSslCertificateGenerationValidDays INTEGER, rlSslCertificateGenerationRsaKeyLength INTEGER, rlSslCertificateGenerationPassphrase DisplayString, rlSslCertificateGenerationAction INTEGER } rlSslCertificateGenerationIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-write STATUS current DESCRIPTION "This index is always set to 1 no matter for which certificate or certificate request the action refers to." ::= { rlSslCertificateGenerationEntry 1 } rlSslCertificateGenerationId OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-write STATUS current DESCRIPTION "The device can hold a number of keys/certificates/certificate requests. These certificates are always numbered from 1 to N (maximum number of certificates in device). This field decides to which keys/certificates/certificate requests the action refers." ::= { rlSslCertificateGenerationEntry 2 } rlSslCertificateGenerationCountryName OBJECT-TYPE SYNTAX DisplayString (SIZE(2)) MAX-ACCESS read-write STATUS current DESCRIPTION "Value of country name field that will appear when a new certificate request or self signed certificate is generated." ::= { rlSslCertificateGenerationEntry 3 } rlSslCertificateGenerationStateOrProvinceName OBJECT-TYPE SYNTAX DisplayString (SIZE(1..64)) MAX-ACCESS read-write STATUS current DESCRIPTION "Value of state or province name field that will appear when a new certificate or self signed certificate is generated." ::= { rlSslCertificateGenerationEntry 4 } rlSslCertificateGenerationLocalityName OBJECT-TYPE SYNTAX DisplayString (SIZE(1..64)) MAX-ACCESS read-write STATUS current DESCRIPTION "Value of locality field that will appear when a new certificate or self signed certificate is generated." ::= { rlSslCertificateGenerationEntry 5 } rlSslCertificateGenerationOrganizationName OBJECT-TYPE SYNTAX DisplayString (SIZE(1..64)) MAX-ACCESS read-write STATUS current DESCRIPTION "Value of organization field that will appear when a new certificate or self signed certificate is generated." ::= { rlSslCertificateGenerationEntry 6 } rlSslCertificateGenerationOrganizationUnitName OBJECT-TYPE SYNTAX DisplayString (SIZE(1..64)) MAX-ACCESS read-write STATUS current DESCRIPTION "Value of organization field that will appear when a new certificate or self signed certificate is generated." ::= { rlSslCertificateGenerationEntry 7 } rlSslCertificateGenerationCommonName OBJECT-TYPE SYNTAX DisplayString (SIZE(1..64)) MAX-ACCESS read-write STATUS current DESCRIPTION "Value of common name field that will appear when a new certificate or self signed certificate is generated." ::= { rlSslCertificateGenerationEntry 8 } rlSslCertificateGenerationValidDays OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-write STATUS current DESCRIPTION "When generating self signed certificate this field sets the valid fields. 'Valid from' is current GMT and 'valid to' current GMT + the value of this field." ::= { rlSslCertificateGenerationEntry 9 } rlSslCertificateGenerationRsaKeyLength OBJECT-TYPE SYNTAX INTEGER (512..2048) MAX-ACCESS read-write STATUS current DESCRIPTION "Setting the RSA key size that will be created when a new key is generated - generateRsaKeyAndSelfSignedCertificate" ::= { rlSslCertificateGenerationEntry 10 } rlSslCertificateGenerationPassphrase OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-write STATUS current DESCRIPTION "When a RSA key is generated (generateRsaKeyAndSelfSignedCertificate) this passphrase is saved in flash and when the time comes and the certificate and the key are exported in PKCS12 format this passphrase is used to encrypt it. If the passphrase is empty the key and certificate can not be exported. There is no method of obtaining this passphrase once a key was generated." ::= { rlSslCertificateGenerationEntry 11 } rlSslCertificateGenerationAction OBJECT-TYPE SYNTAX INTEGER { generateRsaKeyAndSelfSignedCertificate(1), generateSelfSignedCertificate(2), generatePkcs12(3), generateCertificateRequest(4) } MAX-ACCESS read-write STATUS current DESCRIPTION "Setting to a regenerateCertificate causes a new certificate to be generated and to be used for all new sessions." ::= { rlSslCertificateGenerationEntry 12 } rlSslCertificateExportTable OBJECT-TYPE SYNTAX SEQUENCE OF RlSslCertificateExportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is used for viewing saved data from RAM and flash." ::= { rlSsl 2 } rlSslCertificateExportEntry OBJECT-TYPE SYNTAX RlSslCertificateExportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION " The row definition for this table." INDEX { rlSslCertificateExportId, rlSslCertificateExportType, rlSslCertificateExportFragmentId } ::= { rlSslCertificateExportTable 1 } RlSslCertificateExportEntry ::= SEQUENCE { rlSslCertificateExportId INTEGER, rlSslCertificateExportType INTEGER, rlSslCertificateExportFragmentId INTEGER, rlSslCertificateExportFragmentText OCTET STRING } rlSslCertificateExportId OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies the index of this certficate / certificate request the table holds." ::= { rlSslCertificateExportEntry 1 } rlSslCertificateExportType OBJECT-TYPE SYNTAX INTEGER { certificateRequestPemFormat (1), certificatePemFormat(2), certificateOpenSslFormat(3), certificateAndKeyPkcs12(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies the type of data the current entry shows." ::= { rlSslCertificateExportEntry 2 } rlSslCertificateExportFragmentId OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "Identifies the index of this fragment in the certificate request." ::= { rlSslCertificateExportEntry 3 } rlSslCertificateExportFragmentText OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-only STATUS current DESCRIPTION "A part of the readable text entry for the certificate request." ::= { rlSslCertificateExportEntry 4 } rlSslCertificateSave OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-write STATUS current DESCRIPTION "Saves data from rlSslCertificateImportTable to RAM and flash. When an external certificate should be copied to the device first we copy it to rlSslCertificateImportTable and then this scalar is set to the certificate id that we want to save - 1. All entries in rlSslCertificateImportTable that have this id and their format is equal to the current value of rlSslCertificateSaveFormat are concatenated. 2. If the imported certificate format is .. - section 1 result is validated against the key with the same index. If validation fails for any reason - the certificate is not saved and the setting this scalar fails. 3. If the imported certificate format is PKCS12 - section1 result is decrypted using rlSslImportedPKCS12CertificatePassphrase current value. If decryption fails for any reason the PKCS12 certificate and key are not saved to FLASH and setting this scalar fails." ::= { rlSsl 3 } rlSslCertificateSaveFormat OBJECT-TYPE SYNTAX INTEGER{ x509 (1), pkcs12(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "." ::= { rlSsl 4 } rlSslImportedPKCS12CertificatePassphrase OBJECT-TYPE SYNTAX DisplayString (SIZE(8..96)) MAX-ACCESS read-write STATUS current DESCRIPTION "." ::= { rlSsl 5 } rlSslCertificateImportTable OBJECT-TYPE SYNTAX SEQUENCE OF RlSslCertificateImportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is used for copying an external certificate to the device - see rlSslCertificateSave" ::= { rlSsl 6 } rlSslCertificateImportEntry OBJECT-TYPE SYNTAX RlSslCertificateImportEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION " The row definition for this table." INDEX { rlSslCertificateImportId, rlSslCertificateImportFormat, rlSslCertificateImportFragmentId} ::= { rlSslCertificateImportTable 1 } RlSslCertificateImportEntry ::= SEQUENCE { rlSslCertificateImportId INTEGER, rlSslCertificateImportFormat INTEGER, rlSslCertificateImportFragmentId INTEGER, rlSslCertificateImportFragmentText OCTET STRING, rlSslCertificateImportFragmentStatus RowStatus } rlSslCertificateImportId OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-write STATUS current DESCRIPTION "The certificate ID." ::= { rlSslCertificateImportEntry 1 } rlSslCertificateImportFormat OBJECT-TYPE SYNTAX INTEGER { x509 (1), pkcs12(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "." ::= { rlSslCertificateImportEntry 2 } rlSslCertificateImportFragmentId OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-write STATUS current DESCRIPTION "Identifies the index of this fragment in the certificate." ::= { rlSslCertificateImportEntry 3 } rlSslCertificateImportFragmentText OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "A part of the readable text entry for the certificate." ::= { rlSslCertificateImportEntry 4 } rlSslCertificateImportFragmentStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-write STATUS current DESCRIPTION "" ::= { rlSslCertificateImportEntry 5 } END