Skip to content

Commit 171e8e5

Browse files
Zuulopenstack-gerrit
authored andcommitted
Merge "Validate extensions and key_usage at config layer"
2 parents 5813cd7 + af637fb commit 171e8e5

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

magnum/conf/x509.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,20 @@
1111
# limitations under the License.
1212

1313
from oslo_config import cfg
14+
from oslo_config import types
1415

1516
from magnum.common.x509 import extensions
1617
from magnum.i18n import _
1718

18-
ALLOWED_EXTENSIONS = ['"%s"' % e.value for e in extensions.Extensions]
19+
ALLOWED_EXTENSIONS = [str(e.value) for e in extensions.Extensions]
1920
DEFAULT_ALLOWED_EXTENSIONS = [
2021
extensions.Extensions.KEY_USAGE.value,
2122
extensions.Extensions.EXTENDED_KEY_USAGE.value,
2223
extensions.Extensions.SUBJECT_ALTERNATIVE_NAME.value,
2324
extensions.Extensions.BASIC_CONSTRAINTS.value,
2425
extensions.Extensions.SUBJECT_KEY_IDENTIFIER.value]
2526

26-
ALLOWED_KEY_USAGE = ['"%s"' % e.value[0] for e in extensions.KeyUsages]
27+
ALLOWED_KEY_USAGE = [str(e.value[0]) for e in extensions.KeyUsages]
2728
DEFAULT_ALLOWED_KEY_USAGE = [
2829
extensions.KeyUsages.DIGITAL_SIGNATURE.value[0],
2930
extensions.KeyUsages.KEY_ENCIPHERMENT.value[0],
@@ -38,12 +39,14 @@
3839
help=_('Certificate can get the CA flag in x509 extensions.')),
3940
cfg.ListOpt('allowed_extensions',
4041
default=DEFAULT_ALLOWED_EXTENSIONS,
42+
item_type=types.String(choices=ALLOWED_EXTENSIONS),
4143
help=_('List of allowed x509 extensions. Available values: '
42-
'%s') % ', '.join(ALLOWED_EXTENSIONS)),
44+
'"%s"') % '", "'.join(ALLOWED_EXTENSIONS)),
4345
cfg.ListOpt('allowed_key_usage',
4446
default=DEFAULT_ALLOWED_KEY_USAGE,
47+
item_type=types.String(choices=ALLOWED_KEY_USAGE),
4548
help=_('List of allowed x509 key usage. Available values: '
46-
'%s') % ', '.join(ALLOWED_KEY_USAGE)),
49+
'"%s"') % '", "'.join(ALLOWED_KEY_USAGE)),
4750
cfg.IntOpt('term_of_validity',
4851
default=365 * 5,
4952
help=_('Number of days for which a certificate is valid.')),

0 commit comments

Comments
 (0)