1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
|
LINKSYS-SSL DEFINITIONS ::= BEGIN
-- Title: LINKSYS Ssl Private Extension
-- Version: 7.35
-- Date: 20 Jan 2004
IMPORTS
rnd FROM LINKSYS-MIB
Unsigned32, IpAddress,
MODULE-IDENTITY, OBJECT-TYPE FROM SNMPv2-SMI
TruthValue, RowStatus, DisplayString,
TEXTUAL-CONVENTION FROM SNMPv2-TC;
rlSsl MODULE-IDENTITY
LAST-UPDATED "200309210000Z"
ORGANIZATION "Linksys LLC."
CONTACT-INFO
"www.linksys.com/business/support"
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 CDB. 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.]
This scalar is for certificate 1 only... for certificate 2 use
rlSslCertificateSave2 "
::= { 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 }
rlSslSSLv2Enable OBJECT-TYPE
SYNTAX INTEGER { enabled(1), disabled(2) }
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"if enabled then SSLv2 will be supported , if disabled SSLv2 won't be supported.
only SSLV3 and TSL1.
Note: disabling SSLv2 is more secure."
::= { rlSsl 7 }
RlSslPublicKeyAlgorithm ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"This textual convention describes the various possible public key
algorithms. The key algorithm is used to select the PK to be generated
and is also used when viewing the public keys."
SYNTAX INTEGER {
rsa(1),
dsa(2)
}
rlSslImportExportSelfKeyTable OBJECT-TYPE
SYNTAX SEQUENCE OF RlSslImportExportSelfKeyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table can be used for 2 purposes:
1) Importing public/private key pair to serve as the device key when acting
as SSL server. This is done by setting entries to this table, according to
the specified format. When the last entry (footer) is set, the whole key
pair is checked and if valid, stored in CDB.
2) Exporting the device SSL server public/private key. This can be done by
performing GetNext operations on this table."
::= { rlSsl 8 }
rlSslImportExportSelfKeyEntry OBJECT-TYPE
SYNTAX RlSslImportExportSelfKeyEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
" The row definition for this table."
INDEX { rlSslImportExportSelfKeyFormat,
rlSslImportExportSelfKeyIndex,
rlSslImportExportSelfKeyFragmentId}
::= { rlSslImportExportSelfKeyTable 1 }
RlSslImportExportSelfKeyEntry ::= SEQUENCE {
rlSslImportExportSelfKeyFormat INTEGER,
rlSslImportExportSelfKeyIndex INTEGER,
rlSslImportExportSelfKeyFragmentId INTEGER,
rlSslImportExportSelfKeyAlgorithm RlSslPublicKeyAlgorithm,
rlSslImportExportSelfKeyFragmentText OCTET STRING
}
rlSslImportExportSelfKeyFormat OBJECT-TYPE
SYNTAX INTEGER {
uuencoded-format(1)
}
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Specifies the format of public/key pair. The following formats are
supported for import/export:
1) uuencoded_format - in this format both private and public key are in
uu-encoded format, and are seperated from one another by header and footer.
An example of the concateneation of all fragments in this format is:
-----BEGIN RSA PRIVATE KEY-----
tDaNkZZoCxXfkLLsLDlZ6T9H8U4Gz637eRV7BYBpapkidAxY1UG0/qgfKLPkbId4wzht6ArV9bE4fMtX
wSMOxL3q31pOmUdVhjbWYcgZQBDy1DjFSbuIEdP85c96B9bBE2nPv90mSvb/6j8R2NItT/KJeiYMtLtI
N3m6/zESKJGIrX0jP1RFDjVZSS5chSAFgB0egsLZEyOQn7jAqpX/x/easD2J6F/OjPXlJ9Hff2tMb3NU
QYyBoWH2J9IxhWB6Vo66R9Y04JGR18uL/rV2sMCtpg5ppkVTEpNTp9qE1yXocR2NmzUfNFap+GJ4IHj8
CzkVfmJM/kEWaJsYgHbAgLyRg4QVyelfobv1B71aQ+u1z9KGu/QajkWdR04OQfsGOL1CvU2LGYDcRjfH
jv+jl/UkDRRjoD9kt2WvouT+OL6esvKl0OJBqWbGNXg9TWv/VLtJIwgUno+MLaJuOM4Fh44+wpnqUXwQ
TFtBFc8pzt5BoOwbv9gXpicTkq4/+GhwXWXxSVFebKhnHAvKSLT+Ba7K7ZeR8EIIxbXdDNFOiS45R2KI
jxxXLXK44u6KGl5MygCKXUOFlJ+Zhgrq6ZH17z/RVJQ2CWqb5Ekn9GY3kH9QZ3mb4MDPfriWi2lHGXHY
JmJd4SLQhpBdnOS5tu84QmyU3dNbAdzghDsR+dEY/6g7Cn0kcVkeHNZ0H+mCZik5f6XBD8eplkk43bdR
FrkwTeAjwurGcKwdiKkR4DlfSq3DKssVBucTqUpqsKqPXLwTIL44rWKhEPXgGPB2XDG0VLvIRKkAgEGI
LNTwOm091Ro=
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PUBLIC KEY-----
MIGHAoGBAOeIC9gRg3YaEGGMp3C00qNwLINAEDZV/J4BWM5WnWwCWZyHXDs2XiEmFu0ZONAD4gcT2f2f
NNfCBPye39VVuOkKQuSV0MLLX5800LZ4y1BNcPzPZHpnGaCzl7iAjhfj9MolzAh5VRjeiYt0t1um4dm+
q9A4BtfpJqDYxCW9uxd/AgEj
-----END RSA PUBLIC KEY-----
"
::= { rlSslImportExportSelfKeyEntry 1 }
rlSslImportExportSelfKeyIndex OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Identifies the SSL server key index (there can be more than one key)."
::= { rlSslImportExportSelfKeyEntry 2 }
rlSslImportExportSelfKeyFragmentId OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Identifies the index of this fragment in the key pair input/output."
::= { rlSslImportExportSelfKeyEntry 3 }
rlSslImportExportSelfKeyAlgorithm OBJECT-TYPE
SYNTAX RlSslPublicKeyAlgorithm
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Identifies the type of key pair."
::= { rlSslImportExportSelfKeyEntry 4 }
rlSslImportExportSelfKeyFragmentText OBJECT-TYPE
SYNTAX OCTET STRING
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"A part of the readable text entry for the key pair input/output."
::= { rlSslImportExportSelfKeyEntry 5 }
--
--rlSslImportExportSelfKeyStatus OBJECT-TYPE
-- SYNTAX RowStatus
-- MAX-ACCESS read-write
-- STATUS current
-- DESCRIPTION
-- ""
-- ::= { rlSslImportExportSelfKeyEntry 6 }
--
rlSslCertificateSave2 OBJECT-TYPE
SYNTAX INTEGER
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Saves data from rlSslCertificateImportTable to RAM and CDB. 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.]
This scalar is for certificate 2 only... for certificate 1 use
rlSslCertificateSave "
::= { rlSsl 9 }
rlSslisCertificate1Default OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"if set to true then this is the default key , will be configured
when auto generation is done , will set to try , all other cases will
be set to false.
"
::= { rlSsl 10 }
rlSslisCertificate2Default OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"if set to true then this is the default key , will be configured
when auto generation is done , will set to try , all other cases will
be set to false.
"
::= { rlSsl 11 }
END
|