#
# Copyright The WildFly Authors
# SPDX-License-Identifier: Apache-2.0
#

elytron=Elytron \u5B50\u7CFB\u7EDF
# Operations
elytron.add=\u64CD\u4F5C\u4F1A\u6DFB\u52A0 Elytron \u5B50\u7CFB\u7EDF
elytron.remove=\u64CD\u4F5C\u4F1A\u5220\u9664 Elytron \u5B50\u7CFB\u7EDF
# Attributes
elytron.default-authentication-context=\u4F1A\u4E0E\u6240\u6709\u90E8\u7F72\u76F8\u5173\u7684\u9ED8\u8BA4\u9A8C\u8BC1\u4E0A\u4E0B\u6587\u3002
elytron.initial-providers=\u5F15\u7528\u5E94\u5728\u6240\u6709\u73B0\u6709\u63D0\u4F9B\u7A0B\u5E8F\u4E4B\u524D\u6CE8\u518C\u7684\u63D0\u4F9B\u7A0B\u5E8F\u3002
elytron.final-providers=\u5F15\u7528\u5E94\u5728\u6240\u6709\u73B0\u6709\u63D0\u4F9B\u7A0B\u5E8F\u4E4B\u540E\u6CE8\u518C\u7684\u63D0\u4F9B\u7A0B\u5E8F\u3002
elytron.disallowed-providers=\u4E0D\u88AB\u5141\u8BB8\u5E76\u4E14\u5C06\u4ECE\u63D0\u4F9B\u7A0B\u5E8F\u5217\u8868\u4E2D\u5220\u9664\u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u5217\u8868\u3002
elytron.register-jaspi-factory=Elytron JASPI factory \u5E94\u8BE5\u88AB\u5168\u5C40\u6CE8\u518C\uFF1F
elytron.default-ssl-context=\u5230\u9ED8\u8BA4\u5E94\u8BE5\u88AB\u5168\u5C40\u6CE8\u518C\u7684 SSLContext \u7684\u5F15\u7528\u3002

#######################
# Security Properties #
#######################

elytron.security-properties=\u8981\u8BBE\u7F6E\u7684\u5B89\u5168\u5C5E\u6027\u3002

################################
# Authentication Configuration #
################################

elytron.authentication-configuration=\u5355\u4E2A\u9A8C\u8BC1\u914D\u7F6E\u5B9A\u4E49\u3002
# Operations
elytron.authentication-configuration.add=\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684\u9A8C\u8BC1\u914D\u7F6E\u5B9A\u4E49\u3002
elytron.authentication-configuration.remove=\u5220\u9664\u9A8C\u8BC1\u914D\u7F6E\u5B9A\u4E49\u3002
# Attributes
elytron.authentication-configuration.extends=\u8981\u6269\u5C55\u7684\u4E4B\u524D\u5B9A\u4E49\u7684\u9A8C\u8BC1\u914D\u7F6E\u3002
elytron.authentication-configuration.anonymous=\u542F\u7528\u533F\u540D\u9A8C\u8BC1\u3002
elytron.authentication-configuration.authentication-name=\u8981\u4F7F\u7528\u7684\u9A8C\u8BC1\u540D\u79F0\u3002
elytron.authentication-configuration.authorization-name=\u8981\u4F7F\u7528\u7684\u6388\u6743\u540D\u79F0\u3002
elytron.authentication-configuration.host=\u8981\u4F7F\u7528\u7684\u4E3B\u673A\u3002
elytron.authentication-configuration.port=\u8981\u4F7F\u7528\u7684\u7AEF\u53E3\u3002
elytron.authentication-configuration.protocol=\u8981\u4F7F\u7528\u7684\u534F\u8BAE\u3002
elytron.authentication-configuration.realm=\u8981\u4F7F\u7528\u7684\u9886\u57DF\u3002
elytron.authentication-configuration.security-domain=\u5BF9\u7528\u4E8E\u83B7\u53D6\u8F6C\u53D1\u8EAB\u4EFD\u7684\u5B89\u5168\u57DF\u7684\u5F15\u7528\u3002
elytron.authentication-configuration.forwarding-mode=\u8981\u4F7F\u7528\u7684\u5B89\u5168\u8EAB\u4EFD\u8F6C\u53D1\u7684\u7C7B\u578B\u3002'authentication' \u8F6C\u53D1\u6A21\u5F0F\u8F6C\u53D1\u4E3B\u4F53\u548C\u51ED\u8BC1\u3002'authorization' \u6A21\u5F0F\u8F6C\u53D1\u9A8C\u8BC1 id\uFF0C\u5141\u8BB8\u4F7F\u7528\u4E0D\u540C\u7684\u9A8C\u8BC1\u8EAB\u4EFD\u3002
elytron.authentication-configuration.sasl-mechanism-selector=SASL \u673A\u5236\u9009\u62E9\u5668\u5B57\u7B26\u4E32\u3002
elytron.authentication-configuration.mechanism-properties=SASL \u9A8C\u8BC1\u673A\u5236\u7684\u914D\u7F6E\u5C5E\u6027\u3002
elytron.authentication-configuration.mechanism-properties.name=\u5C5E\u6027\u540D\u79F0\u3002
elytron.authentication-configuration.mechanism-properties.value=\u5C5E\u6027\u503C\u3002
elytron.authentication-configuration.credential-reference=\u5BF9\u4EE5\u6307\u5B9A\u522B\u540D\u6216\u660E\u6587\u5BC6\u7801\u5B58\u50A8\u5728 CredentialStore \u4E2D\u7684\u51ED\u8BC1\u7684\u5F15\u7528\u3002
elytron.authentication-configuration.credential-reference.store=\u5B58\u6709\u51ED\u8BC1\u522B\u540D\u7684\u51ED\u8BC1\u5B58\u50A8\u7684\u540D\u79F0\u3002
elytron.authentication-configuration.credential-reference.alias=\u8868\u793A\u5E93\u4E2D\u5B58\u50A8\u7684\u5BC6\u94A5\u6216\u51ED\u8BC1\u7684\u522B\u540D\u3002
elytron.authentication-configuration.credential-reference.type=\u6B64\u5F15\u7528\u8868\u793A\u7684\u51ED\u8BC1\u7684\u7C7B\u578B\u3002
elytron.authentication-configuration.credential-reference.clear-text=\u4F7F\u7528\u660E\u6587\u6307\u5B9A\u7684\u5BC6\u94A5\u3002\u68C0\u67E5\u51ED\u8BC1\u5B58\u50A8\u5411\u670D\u52A1\u63D0\u4F9B\u51ED\u8BC1/\u5BC6\u94A5\u7684\u65B9\u5F0F\u3002
elytron.authentication-configuration.kerberos-security-factory=\u5BF9\u7528\u6765\u83B7\u53D6 GSS kerberos \u51ED\u8BC1\u7684 kerberos \u5B89\u5168\u5DE5\u5382\u7684\u5F15\u7528
elytron.authentication-configuration.webservices=Web \u670D\u52A1\u5BA2\u6237\u7AEF\u914D\u7F6E\u5B9A\u4E49\u3002
elytron.authentication-configuration.webservices.http-mechanism=HTTP \u673A\u5236\u7684\u540D\u79F0\uFF0CWeb \u670D\u52A1\u5BA2\u6237\u7AEF\u5728\u8FDE\u63A5\u5230\u670D\u52A1\u5668\u65F6\u5E94\u8BE5\u548C\u51ED\u8BC1\u4E00\u8D77\u4F7F\u7528\u3002\u9ED8\u8BA4\u4E3A BASIC\u3002
elytron.authentication-configuration.webservices.ws-security-type=\u5F53\u8FDE\u63A5\u5230\u670D\u52A1\u5668\u65F6 web service \u5E94\u4F7F\u7528\u7684 WS-security \u65B9\u6CD5\u7684\u540D\u79F0\u3002\u9ED8\u8BA4\u4E3A UsernameToken\u3002

elytron.authentication-context=\u5355\u4E2A\u9A8C\u8BC1\u4E0A\u4E0B\u6587\u5B9A\u4E49\u3002
# Operations
elytron.authentication-context.add=\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684\u9A8C\u8BC1\u4E0A\u4E0B\u6587\u5B9A\u4E49\u3002
elytron.authentication-context.remove=\u5220\u9664\u9A8C\u8BC1\u4E0A\u4E0B\u6587\u5B9A\u4E49\u3002
# Attributes
elytron.authentication-context.extends=\u8981\u6269\u5C55\u7684\u4E4B\u524D\u5B9A\u4E49\u7684\u9A8C\u8BC1\u4E0A\u4E0B\u6587\u3002
elytron.authentication-context.match-rules=\u6B64\u9A8C\u8BC1\u4E0A\u4E0B\u6587\u7684\u5339\u914D\u89C4\u5219\u3002
elytron.authentication-context.match-rules.match-abstract-type=\u8981\u4E0E\u4E4B\u5339\u914D\u7684\u62BD\u8C61\u7C7B\u578B\u3002
elytron.authentication-context.match-rules.match-abstract-type-authority=\u8981\u4E0E\u4E4B\u5339\u914D\u7684\u62BD\u8C61\u7C7B\u578B\u6388\u6743\u3002
elytron.authentication-context.match-rules.match-host=\u8981\u4E0E\u4E4B\u5339\u914D\u7684\u4E3B\u673A\u3002
elytron.authentication-context.match-rules.match-local-security-domain=\u8981\u4E0E\u4E4B\u5339\u914D\u7684\u672C\u5730\u5B89\u5168\u57DF\u3002
elytron.authentication-context.match-rules.match-no-user=\u4E0D\u4E0E\u4EFB\u4F55\u7528\u6237\u5339\u914D\u3002
elytron.authentication-context.match-rules.match-path=\u8981\u4E0E\u4E4B\u5339\u914D\u7684\u4E0D\u5B9A\u3002
elytron.authentication-context.match-rules.match-port=\u8981\u4E0E\u4E4B\u5339\u914D\u7684\u7AEF\u53E3\u3002
elytron.authentication-context.match-rules.match-protocol=\u8981\u4E0E\u4E4B\u5339\u914D\u7684\u534F\u8BAE\u3002
elytron.authentication-context.match-rules.match-urn=\u8981\u4E0E\u4E4B\u5339\u914D\u7684 URN\u3002
elytron.authentication-context.match-rules.match-user=\u8981\u4E0E\u4E4B\u5339\u914D\u7684\u7528\u6237\u3002
elytron.authentication-context.match-rules.authentication-configuration=\u7528\u4E8E\u6210\u529F\u5339\u914D\u7684\u9A8C\u8BC1\u914D\u7F6E\u3002
elytron.authentication-context.match-rules.ssl-context=\u7528\u4E8E\u6210\u529F\u5339\u914D\u7684 SSL \u4E0A\u4E0B\u6587\u3002

#############
# Providers #
#############

elytron.aggregate-providers=\u4E24\u4E2A\u6216\u66F4\u591A Provider[] \u8D44\u6E90\u7684\u805A\u5408\u3002
# Operations
elytron.aggregate-providers.add=\u9488\u5BF9\u805A\u5408\u7684\u63D0\u4F9B\u7A0B\u5E8F\u8D44\u6E90\u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.aggregate-providers.remove=\u9488\u5BF9\u805A\u5408\u7684\u63D0\u4F9B\u7A0B\u5E8F\u8D44\u6E90\u7684\u5220\u9664\u64CD\u4F5C
# Attributes
elytron.aggregate-providers.providers=\u8981\u805A\u5408\u7684\u5F15\u7528 Provider[] \u8D44\u6E90\u3002

elytron.provider-loader=\u63D0\u4F9B\u7A0B\u5E8F\u52A0\u8F7D\u5668\u7684\u5B9A\u4E49\u3002
# Operations
elytron.provider-loader.add=\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684\u63D0\u4F9B\u7A0B\u5E8F\u52A0\u8F7D\u5668\u5B9A\u4E49\u3002
elytron.provider-loader.remove=\u5220\u9664\u4E00\u4E2A\u63D0\u4F9B\u7A0B\u5E8F\u52A0\u8F7D\u5668\u5B9A\u4E49\u3002
# Configuration Attributes
elytron.provider-loader.module=\u4ECE\u4E2D\u52A0\u8F7D\u63D0\u4F9B\u7A0B\u5E8F\u7684\u6A21\u5757\u7684\u540D\u79F0\u3002
elytron.provider-loader.class-names=\u8981\u52A0\u8F7D\u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D\uFF0C\u4F1A\u5728\u670D\u52A1\u52A0\u8F7D\u5668\u53D1\u73B0\u63D0\u4F9B\u7A0B\u5E8F\u4E4B\u540E\u52A0\u8F7D\uFF0C\u5E76\u4E14\u4F1A\u8DF3\u8FC7\u590D\u5236\u6B65\u9AA4\u3002
elytron.provider-loader.path=\u7528\u4E8E\u521D\u59CB\u5316\u63D0\u4F9B\u7A0B\u5E8F\u7684\u6587\u4EF6\u8DEF\u5F84\u3002
elytron.provider-loader.relative-to=\u914D\u7F6E\u6587\u4EF6\u7684\u57FA\u7840\u8DEF\u5F84\u3002
elytron.provider-loader.argument=\u63D0\u4F9B\u7A0B\u5E8F\u88AB\u5B9E\u4F8B\u5316\u65F6\u8981\u4F20\u9012\u81F3\u6784\u9020\u5668\u7684\u53C2\u6570\u3002
elytron.provider-loader.configuration=\u4F20\u9012\u81F3\u63D0\u4F9B\u7A0B\u5E8F\u4EE5\u5BF9\u5176\u8FDB\u884C\u521D\u59CB\u5316\u7684\u952E/\u503C\u914D\u7F6E\u3002
# Runtime Attributes
elytron.provider-loader.loaded-providers=\u8BE5\u63D0\u4F9B\u7A0B\u5E8F\u52A0\u8F7D\u5668\u52A0\u8F7D\u7684\u63D0\u4F9B\u7A0B\u5E8F\u5217\u8868\u3002
elytron.provider-loader.loaded-providers.name=\u63D0\u4F9B\u7A0B\u5E8F\u5B9E\u4F8B\u62A5\u544A\u7684\u540D\u79F0\u3002
elytron.provider-loader.loaded-providers.info=\u63D0\u4F9B\u7A0B\u5E8F\u5B9E\u4F8B\u62A5\u544A\u7684\u4FE1\u606F\u3002
elytron.provider-loader.loaded-providers.version=\u63D0\u4F9B\u7A0B\u5E8F\u5B9E\u4F8B\u62A5\u544A\u7684\u7248\u672C\u3002
elytron.provider-loader.loaded-providers.services=\u6B64\u63D0\u4F9B\u7A0B\u5E8F\u63D0\u4F9B\u7684\u670D\u52A1\u5217\u8868\u3002
elytron.provider-loader.loaded-providers.type=\u670D\u52A1\u7C7B\u578B\u3002
elytron.provider-loader.loaded-providers.algorithm=\u6B64\u670D\u52A1\u652F\u6301\u7684\u7B97\u6CD5\u3002
elytron.provider-loader.loaded-providers.class-name=\u670D\u52A1 SPI \u7684\u5B9E\u73B0\u7684\u7C7B\u540D\u79F0\u3002

#################
# Audit Logging #
#################

elytron.aggregate-security-event-listener=\u4E24\u4E2A\u6216\u66F4\u591A\u4E2A\u5B89\u5168\u4E8B\u4EF6\u76D1\u542C\u7A0B\u5E8F\u8D44\u6E90\u7684\u805A\u5408\u3002
# Operations
elytron.aggregate-security-event-listener.add=\u9488\u5BF9\u805A\u5408\u5B89\u5168\u4E8B\u4EF6\u76D1\u542C\u7A0B\u5E8F\u8D44\u6E90\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.aggregate-security-event-listener.remove=\u9488\u5BF9\u805A\u5408\u5B89\u5168\u4E8B\u4EF6\u76D1\u542C\u7A0B\u5E8F\u8D44\u6E90\u7684\u5220\u9664\u64CD\u4F5C
# Attributes
elytron.aggregate-security-event-listener.security-event-listeners=\u7528\u4E8E\u805A\u5408\u7684\u5F15\u7528\u7684\u5B89\u5168\u4E8B\u4EF6\u76D1\u542C\u7A0B\u5E8F\u8D44\u6E90\u3002

elytron.custom-security-event-listener=\u81EA\u5B9A\u4E49\u5B89\u5168\u4E8B\u4EF6\u76D1\u542C\u7A0B\u5E8F\u3002\uFF08\u4F8B\u5982\u5BA1\u6838 logger\u3002\uFF09
# Operations
elytron.custom-security-event-listener.add=\u76D1\u542C\u7A0B\u5E8F\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.custom-security-event-listener.remove=\u76D1\u542C\u7A0B\u5E8F\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.custom-security-event-listener.module=\u7528\u4E8E\u52A0\u8F7D\u81EA\u5B9A\u4E49\u5B89\u5168\u4E8B\u4EF6\u76D1\u542C\u7A0B\u5E8F\u7684\u6A21\u5757\u3002
elytron.custom-security-event-listener.class-name=\u81EA\u5B9A\u4E49\u5B89\u5168\u4E8B\u4EF6\u76D1\u542C\u7A0B\u5E8F\u7684\u5B9E\u73B0\u7684\u7C7B\u540D\u79F0\u3002
elytron.custom-security-event-listener.configuration=\u81EA\u5B9A\u4E49\u5B89\u5168\u4E8B\u4EF6\u76D1\u542C\u7A0B\u5E8F\u7684\u53EF\u9009\u952E/\u503C\u914D\u7F6E\u3002

elytron.file-audit-log=\u8BB0\u5F55\u5230\u672C\u5730\u6587\u4EF6\u7684\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55\u5668\u3002
# Operations
elytron.file-audit-log.add=\u6DFB\u52A0\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55\u5668\u8D44\u6E90\u3002
elytron.file-audit-log.remove=\u5220\u9664\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55\u5668\u8D44\u6E90\u3002
#Attributes
elytron.file-audit-log.path=\u5F85\u7F16\u5199\u6587\u4EF6\u7684\u8DEF\u5F84\u3002
elytron.file-audit-log.relative-to=\u5BA1\u6838\u65E5\u5FD7\u7684\u76F8\u5BF9\u8DEF\u5F84\u3002
elytron.file-audit-log.autoflush=\u662F\u5426\u6BCF\u4E2A\u4E8B\u4EF6\u90FD\u5E94\u8BE5\u9A6C\u4E0A\u5237\u65B0\u5230\u78C1\u76D8\uFF08\u5982\u679C\u672A\u5B9A\u4E49\uFF0C\u5C06\u9ED8\u8BA4\u4E3A\u540C\u6B65\u7684\u503C\uFF09\u3002
elytron.file-audit-log.synchronized=\u662F\u5426\u6BCF\u4E2A\u4E8B\u4EF6\u90FD\u5E94\u7ACB\u5373\u540C\u6B65\u81F3\u78C1\u76D8\u3002
elytron.file-audit-log.format=\u7528\u4E8E\u8BB0\u5F55\u5BA1\u6838\u4E8B\u4EF6\u7684\u683C\u5F0F\u3002
elytron.file-audit-log.encoding=\u5BA1\u8BA1\u6587\u4EF6\u7F16\u7801\u3002\u9ED8\u8BA4\u4E3A UTF_8\u3002

elytron.periodic-rotating-file-audit-log=\u4E00\u79CD\u5BA1\u8BA1\u65E5\u5FD7\u5B9A\u4E49\uFF0C\u7528\u4E8E\u5C06\u5BA1\u8BA1\u65E5\u5FD7\u6301\u4E45\u5316\u5230\u672C\u5730\u6587\u4EF6\u4E2D\uFF0C\u5728\u7ED9\u5B9A\u540E\u7F00\u5B57\u7B26\u4E32\u6D3E\u751F\u7684\u4E00\u6BB5\u65F6\u95F4\u540E\u8F6E\u6362\u65E5\u5FD7\uFF0C\u5B83\u5E94\u8BE5\u91C7\u7528\u4E00\u79CD java.time.format.DateTimeFormatter \u80FD\u8BC6\u522B\u7684\u683C\u5F0F\u3002
# Operations
elytron.periodic-rotating-file-audit-log.add=\u6DFB\u52A0\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55\u5668\u8D44\u6E90\u3002
elytron.periodic-rotating-file-audit-log.remove=\u5220\u9664\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55\u5668\u8D44\u6E90\u3002
#Attributes
elytron.periodic-rotating-file-audit-log.path=\u5F85\u7F16\u5199\u6587\u4EF6\u7684\u8DEF\u5F84\u3002
elytron.periodic-rotating-file-audit-log.relative-to=\u5BA1\u6838\u65E5\u5FD7\u7684\u76F8\u5BF9\u8DEF\u5F84\u3002
elytron.periodic-rotating-file-audit-log.autoflush=\u662F\u5426\u6BCF\u4E2A\u4E8B\u4EF6\u90FD\u5E94\u8BE5\u9A6C\u4E0A\u5237\u65B0\u5230\u78C1\u76D8\uFF08\u5982\u679C\u672A\u5B9A\u4E49\uFF0C\u5C06\u9ED8\u8BA4\u4E3A\u540C\u6B65\u7684\u503C\uFF09\u3002
elytron.periodic-rotating-file-audit-log.synchronized=\u662F\u5426\u6BCF\u4E2A\u4E8B\u4EF6\u90FD\u5E94\u7ACB\u5373\u540C\u6B65\u81F3\u78C1\u76D8\u3002
elytron.periodic-rotating-file-audit-log.format=\u7528\u4E8E\u8BB0\u5F55\u5BA1\u6838\u4E8B\u4EF6\u7684\u683C\u5F0F\u3002
elytron.periodic-rotating-file-audit-log.encoding=\u5BA1\u8BA1\u6587\u4EF6\u7F16\u7801\u3002\u9ED8\u8BA4\u4E3A UTF_8\u3002
elytron.periodic-rotating-file-audit-log.suffix=\u91C7\u7528 java.time.format.DateTimeFormatter \u53EF\u7406\u89E3\u7684\u683C\u5F0F\u7684\u540E\u7F00\u5B57\u7B26\u4E32\u3002\u8F6E\u6362\u7684\u5468\u671F\u4F1A\u6839\u636E\u8BE5\u540E\u7F00\u81EA\u52A8\u8BA1\u7B97\u3002

elytron.size-rotating-file-audit-log=\u4E00\u79CD\u5BA1\u8BA1\u65E5\u5FD7\u5B9A\u4E49\uFF0C\u7528\u4E8E\u5C06\u5BA1\u8BA1\u65E5\u5FD7\u6301\u4E45\u5316\u5230\u672C\u5730\u6587\u4EF6\u4E2D\uFF0C\u5728\u6587\u4EF6\u5927\u5C0F\u8D85\u8FC7\u67D0\u4E2A\u70B9\u540E\u8F6E\u8F6C\u65E5\u5FD7\uFF0C\u5E76\u4FDD\u6301\u56FA\u5B9A\u6570\u91CF\u7684\u5907\u4EFD\u3002
# Operations
elytron.size-rotating-file-audit-log.add=\u6DFB\u52A0\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55\u5668\u8D44\u6E90\u3002
elytron.size-rotating-file-audit-log.remove=\u5220\u9664\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55\u5668\u8D44\u6E90\u3002
#Attributes
elytron.size-rotating-file-audit-log.path=\u5F85\u7F16\u5199\u6587\u4EF6\u7684\u8DEF\u5F84\u3002
elytron.size-rotating-file-audit-log.relative-to=\u5BA1\u6838\u65E5\u5FD7\u7684\u76F8\u5BF9\u8DEF\u5F84\u3002
elytron.size-rotating-file-audit-log.autoflush=\u662F\u5426\u6BCF\u4E2A\u4E8B\u4EF6\u90FD\u5E94\u8BE5\u9A6C\u4E0A flush \u5230\u78C1\u76D8\u3002
elytron.size-rotating-file-audit-log.synchronized=\u662F\u5426\u6BCF\u4E2A\u4E8B\u4EF6\u90FD\u5E94\u8BE5\u9A6C\u4E0A\u5237\u65B0\u5230\u78C1\u76D8\uFF08\u5982\u679C\u672A\u5B9A\u4E49\uFF0C\u5C06\u9ED8\u8BA4\u4E3A\u540C\u6B65\u7684\u503C\uFF09\u3002
elytron.size-rotating-file-audit-log.format=\u7528\u4E8E\u8BB0\u5F55\u5BA1\u6838\u4E8B\u4EF6\u7684\u683C\u5F0F\u3002
elytron.size-rotating-file-audit-log.encoding=\u5BA1\u8BA1\u6587\u4EF6\u7F16\u7801\u3002\u9ED8\u8BA4\u4E3A UTF_8\u3002
elytron.size-rotating-file-audit-log.max-backup-index=\u8F6E\u6362\u65F6\u5907\u4EFD\u6587\u4EF6\u7684\u6700\u5927\u6570\u91CF\u3002
elytron.size-rotating-file-audit-log.rotate-size=\u6587\u4EF6\u8F6E\u6362\u65F6\u5E94\u4F7F\u7528\u7684\u65E5\u5FD7\u6587\u4EF6\u5927\u5C0F\u3002
elytron.size-rotating-file-audit-log.rotate-on-boot=\u662F\u5426\u5E94\u5728\u8BBE\u7F6E\u65B0\u6587\u4EF6\u4E4B\u524D\u8F6E\u6362\u6587\u4EF6\u3002
elytron.size-rotating-file-audit-log.suffix=\u5728 java.time.format.DateTimeFormatter \u4E2D\uFF0C\u7528\u4F5C\u65E5\u5FD7\u6587\u4EF6\u540D\u79F0\u540E\u7F00\u7684\u65F6\u95F4\u683C\u5F0F\u3002\u8BE5\u540E\u7F00\u4E0D\u4F1A\u7528\u4E8E\u786E\u5B9A\u6587\u4EF6\u4F55\u65F6\u8FDB\u884C\u8F6E\u6362\u3002


elytron.syslog-audit-log=\u5C06\u5BA1\u8BA1\u4E8B\u4EF6\u53D1\u9001\u81F3\u8FDC\u7A0B syslog \u670D\u52A1\u5668\u7684\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55\u5668\u3002
# Operations
elytron.syslog-audit-log.add=\u6DFB\u52A0\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55\u5668\u8D44\u6E90\u3002
elytron.syslog-audit-log.remove=\u5220\u9664\u5BA1\u8BA1\u65E5\u5FD7\u8BB0\u5F55\u5668\u8D44\u6E90\u3002
#Attributes
elytron.syslog-audit-log.server-address=\u4E8B\u4EF6\u5E94\u88AB\u53D1\u9001\u81F3\u7684 syslog \u670D\u52A1\u5668\u7684\u670D\u52A1\u5668\u5730\u5740\u3002
elytron.syslog-audit-log.port=syslog \u670D\u52A1\u5668\u7684\u4FA6\u542C\u7AEF\u53E3\u3002
elytron.syslog-audit-log.transport=\u7528\u6765\u8FDE\u63A5 syslog \u670D\u52A1\u5668\u7684\u4F20\u8F93\u3002
elytron.syslog-audit-log.format=\u7528\u4E8E\u8BB0\u5F55\u5BA1\u6838\u4E8B\u4EF6\u7684\u683C\u5F0F\u3002
elytron.syslog-audit-log.host-name=\u5D4C\u5165\u6240\u6709\u53D1\u9001\u81F3\u8FDC\u7A0B syslog \u670D\u52A1\u5668\u7684\u4E8B\u4EF6\u4E2D\u7684\u4E3B\u673A\u540D\u79F0\u3002
elytron.syslog-audit-log.ssl-context=\u4F7F\u7528 SSL_TCP \u4F20\u8F93\u65F6\uFF0C\u7528\u4E8E\u8FDE\u63A5 syslog \u670D\u52A1\u5668\u7684 SSLContext\u3002
elytron.syslog-audit-log.syslog-format=\u63CF\u8FF0\u5BA1\u8BA1\u4E8B\u4EF6\u65F6\u4F7F\u7528\u7684 RFC \u683C\u5F0F\u3002
elytron.syslog-audit-log.reconnect-attempts=\u5728\u7AEF\u70B9\u88AB\u5173\u95ED\u524D\uFF0C\u5411\u4E00\u4E2A syslog \u670D\u52A1\u5668\u53D1\u9001\u4FE1\u606F\u5931\u8D25\u540E\u5C1D\u8BD5\u91CD\u65B0\u8FDE\u63A5\u7684\u6700\u591A\u6B21\u6570\u3002

################################
# HTTP and SASL Authentication #
################################

elytron.http-authentication-factory=\u5305\u542B SecurityDomain \u4E0E HttpServerAuthenticationMechanismFactory \u5173\u8054\u7684\u8D44\u6E90\u3002
# Operations
elytron.http-authentication-factory.add=\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684 http-authentication-factory \u8D44\u6E90\u3002
elytron.http-authentication-factory.remove=\u5220\u9664 http-authentication-factory \u8D44\u6E90\u3002
# Attributes
elytron.http-authentication-factory.security-domain=\u4E0E\u6B64\u8D44\u6E90\u5173\u8054\u7684 SecurityDomain
elytron.http-authentication-factory.http-server-mechanism-factory=\u4E0E\u6B64\u8D44\u6E90\u5173\u8054\u7684 HttpServerAuthenticationMechanismFactory
elytron.http-authentication-factory.mechanism-configurations=\u673A\u5236\u7279\u5B9A\u7684\u914D\u7F6E
elytron.http-authentication-factory.mechanism-configurations.mechanism-name=\u6B64\u914D\u7F6E\u53EA\u5728\u4F7F\u7528\u6307\u5B9A\u540D\u79F0\u7684\u673A\u5236\u65F6\u9002\u7528\u3002\u5982\u679C\u6B64\u5C5E\u6027\u88AB\u5FFD\u7565\uFF0C\u5219\u6B64\u914D\u7F6E\u53EF\u4E0E\u4EFB\u4F55\u673A\u5236\u540D\u79F0\u5339\u914D\u3002
elytron.http-authentication-factory.mechanism-configurations.host-name=\u6B64\u914D\u7F6E\u9002\u7528\u7684\u4E3B\u673A\u540D\u79F0\u3002
elytron.http-authentication-factory.mechanism-configurations.protocol=\u6B64\u914D\u7F6E\u9002\u7528\u7684\u534F\u8BAE\u3002
elytron.http-authentication-factory.mechanism-configurations.pre-realm-principal-transformer=\u9009\u5B9A\u9886\u57DF\u4E4B\u524D\u8981\u5E94\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668
elytron.http-authentication-factory.mechanism-configurations.post-realm-principal-transformer=\u9009\u5B9A\u9886\u57DF\u4E4B\u540E\u8981\u5E94\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668
elytron.http-authentication-factory.mechanism-configurations.final-principal-transformer=\u8981\u5E94\u7528\u6B64\u673A\u5236\u9886\u57DF\u7684\u6700\u7EC8\u4E3B\u4F53\u8F6C\u6362\u5668
elytron.http-authentication-factory.mechanism-configurations.realm-mapper=\u4F9B\u673A\u5236\u4F7F\u7528\u7684\u9886\u57DF\u6620\u5C04\u5668
elytron.http-authentication-factory.mechanism-configurations.credential-security-factory=\u7528\u4E8E\u6309\u7167\u673A\u5236\u8981\u6C42\u83B7\u53D6\u51ED\u8BC1\u7684\u5B89\u5168\u5DE5\u5382
elytron.http-authentication-factory.mechanism-configurations.mechanism-realm-configurations=\u673A\u5236\u6240\u7406\u89E3\u7684\u9886\u57DF\u540D\u79F0\u7684\u5B9A\u4E49
elytron.http-authentication-factory.mechanism-configurations.realm-name=\u673A\u5236\u6240\u8868\u793A\u7684\u9886\u57DF\u7684\u540D\u79F0
# Runtime Attributes
elytron.http-authentication-factory.available-mechanisms=\u5E94\u7528\u6240\u6709\u8FC7\u6EE4\u4E4B\u540E\u6B64\u914D\u7F6E\u63D0\u4F9B\u7684\u53EF\u7528 HTTP \u673A\u5236\u3002

elytron.sasl-authentication-factory=\u5305\u542B SecurityDomain \u4E0E SaslServerFactory \u5173\u8054\u7684\u8D44\u6E90\u3002
# Operations
elytron.sasl-authentication-factory.add=\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684 sasl-authentication-factory \u8D44\u6E90\u3002
elytron.sasl-authentication-factory.remove=\u5220\u9664 sasl-authentication-factory \u8D44\u6E90\u3002
# Attributes
elytron.sasl-authentication-factory.security-domain=\u4E0E\u6B64\u8D44\u6E90\u5173\u8054\u7684 SecurityDomain
elytron.sasl-authentication-factory.sasl-server-factory=\u4E0E\u6B64\u8D44\u6E90\u5173\u8054\u7684 SaslServerFactory
elytron.sasl-authentication-factory.mechanism-configurations=\u673A\u5236\u7279\u5B9A\u7684\u914D\u7F6E
elytron.sasl-authentication-factory.mechanism-configurations.mechanism-name=\u6B64\u914D\u7F6E\u53EA\u5728\u4F7F\u7528\u6307\u5B9A\u540D\u79F0\u7684\u673A\u5236\u65F6\u9002\u7528\u3002\u5982\u679C\u6B64\u5C5E\u6027\u88AB\u5FFD\u7565\uFF0C\u5219\u6B64\u914D\u7F6E\u53EF\u4E0E\u4EFB\u4F55\u673A\u5236\u540D\u79F0\u5339\u914D\u3002
elytron.sasl-authentication-factory.mechanism-configurations.host-name=\u6B64\u914D\u7F6E\u9002\u7528\u7684\u4E3B\u673A\u540D\u79F0\u3002
elytron.sasl-authentication-factory.mechanism-configurations.protocol=\u6B64\u914D\u7F6E\u9002\u7528\u7684\u534F\u8BAE\u3002
elytron.sasl-authentication-factory.mechanism-configurations.pre-realm-principal-transformer=\u9009\u5B9A\u9886\u57DF\u4E4B\u524D\u8981\u5E94\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668
elytron.sasl-authentication-factory.mechanism-configurations.post-realm-principal-transformer=\u9009\u5B9A\u9886\u57DF\u4E4B\u540E\u8981\u5E94\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668
elytron.sasl-authentication-factory.mechanism-configurations.final-principal-transformer=\u8981\u5E94\u7528\u6B64\u673A\u5236\u9886\u57DF\u7684\u6700\u7EC8\u4E3B\u4F53\u8F6C\u6362\u5668
elytron.sasl-authentication-factory.mechanism-configurations.realm-mapper=\u4F9B\u673A\u5236\u4F7F\u7528\u7684\u9886\u57DF\u6620\u5C04\u5668
elytron.sasl-authentication-factory.mechanism-configurations.credential-security-factory=\u7528\u4E8E\u6309\u7167\u673A\u5236\u8981\u6C42\u83B7\u53D6\u51ED\u8BC1\u7684\u5B89\u5168\u5DE5\u5382
elytron.sasl-authentication-factory.mechanism-configurations.mechanism-realm-configurations=\u673A\u5236\u6240\u7406\u89E3\u7684\u9886\u57DF\u540D\u79F0\u7684\u5B9A\u4E49
elytron.sasl-authentication-factory.mechanism-configurations.realm-name=\u673A\u5236\u6240\u8868\u793A\u7684\u9886\u57DF\u7684\u540D\u79F0

# Runtime Attributes
elytron.sasl-authentication-factory.available-mechanisms=\u5E94\u7528\u6240\u6709\u8FC7\u6EE4\u4E4B\u540E\u6B64\u914D\u7F6E\u63D0\u4F9B\u7684\u53EF\u7528 SASL \u673A\u5236\u3002

#######################
# JASPI Configuration #
#######################
elytron.jaspi-configuration=\u5305\u62EC servlet \u914D\u7F6E\u6587\u4EF6\u7684 JASPI ServerAuthModule \u914D\u7F6E\u7684\u8D44\u6E90\u3002
elytron.jaspi-configuration.add=\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684 JASPI \u914D\u7F6E\u3002
elytron.jaspi-configuration.remove=\u5220\u9664 JASPI \u914D\u7F6E\u3002
elytron.jaspi-configuration.layer=\u4E0E\u8FD9\u4E2A\u914D\u7F6E\u76F8\u5173\u8054\u7684\u5C42\uFF0C '*' \u4EE3\u8868\u6240\u6709\u5C42\u3002
elytron.jaspi-configuration.application-context=\u4E0E\u8FD9\u4E2A\u914D\u7F6E\u76F8\u5173\u8054\u7684\u5E94\u7528\u7A0B\u5E8F\u4E0A\u4E0B\u6587\uFF0C '*' \u4EE3\u8868\u6240\u6709\u5E94\u7528\u7A0B\u5E8F\u4E0A\u4E0B\u6587\u3002
elytron.jaspi-configuration.description=\u8FD9\u4E2A\u914D\u7F6E\u7684\u63CF\u8FF0\u4FE1\u606F\u3002
elytron.jaspi-configuration.server-auth-modules=\u8FD9\u4E2A\u914D\u7F6E\u7684 ServerAuthModule \u5B9A\u4E49\u5217\u8868\u3002
elytron.jaspi-configuration.server-auth-modules.class-name=ServerAuthModule \u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D\u3002
elytron.jaspi-configuration.server-auth-modules.module=ServerAuthModule \u52A0\u8F7D\u81EA\u7684\u6A21\u5757\u3002
elytron.jaspi-configuration.server-auth-modules.flag=\u534F\u8C03 ServerAuthModule \u7ED3\u679C\u7684\u63A7\u5236\u6807\u8BB0\u3002
elytron.jaspi-configuration.server-auth-modules.options=\u4F20\u9012\u7ED9 ServerAuthModule \u7684\u914D\u7F6E\u9009\u9879\u3002

###################
# Security Domain #
###################

elytron.security-domain=\u5B89\u5168\u57DF\u5B9A\u4E49\u3002
elytron.security-domain.add=\u5B89\u5168\u57DF\u5B9A\u4E49\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.security-domain.remove=\u5B89\u5168\u57DF\u5B9A\u4E49\u7684\u5220\u9664\u64CD\u4F5C\u3002
elytron.security-domain.read-identity=\u4ECE\u5B89\u5168\u57DF\u8BFB\u53D6\u8EAB\u4EFD\uFF08\u5982\u679C\u5B58\u5728\uFF09\u3002
elytron.security-domain.read-identity.name=\u8981\u8BFB\u53D6\u7684\u8EAB\u4EFD\u7684\u540D\u79F0\u3002
elytron.security-domain.authenticate=\u7528\u4E8E\u6D4B\u8BD5\u9A8C\u8BC1\u7684\u4E34\u65F6\u64CD\u4F5C\u3002
elytron.security-domain.authenticate.username=\u9A8C\u8BC1\u65F6\u4F7F\u7528\u7684\u7528\u6237\u540D\u3002
elytron.security-domain.authenticate.password=\u7ED9\u5B9A\u7528\u6237\u540D\u7684\u5BC6\u7801\u3002
elytron.security-domain.pre-realm-principal-transformer=\u5BF9\u9009\u5B9A\u9886\u57DF\u4E4B\u524D\u8981\u5E94\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u5F15\u7528\u3002
elytron.security-domain.post-realm-principal-transformer=\u5728\u9886\u57DF\u5BF9\u63D0\u4F9B\u7684\u8EAB\u4EFD\u540D\u79F0\u8FDB\u884C\u64CD\u4F5C\u540E\u8981\u5E94\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u5F15\u7528\u3002
elytron.security-domain.permission-mapper=\u5BF9\u4F9B\u6B64\u57DF\u4F7F\u7528\u7684 PermissionMapper \u7684\u5F15\u7528\u3002
elytron.security-domain.principal-decoder=\u5BF9\u4F9B\u6B64\u57DF\u4F7F\u7528\u7684 PrincipalDecoder \u7684\u5F15\u7528\u3002
elytron.security-domain.realm-mapper=\u5BF9\u4F9B\u6B64\u57DF\u4F7F\u7528\u7684 RealmMapper \u7684\u5F15\u7528\u3002
elytron.security-domain.role-mapper=\u5BF9\u4F9B\u6B64\u57DF\u4F7F\u7528\u7684 RoleMapper \u7684\u5F15\u7528\u3002
elytron.security-domain.role-decoder=\u6B64\u57DF\u4F7F\u7528\u7684 RoleMapper \u7684\u5F15\u7528\u3002
elytron.security-domain.evidence-decoder=\u88AB\u8FD9\u4E2A\u57DF\u4F7F\u7528\u7684 EvidenceDecoder \u7684\u5F15\u7528\u3002
elytron.security-domain.security-event-listener=\u5BF9\u5B89\u5168\u4E8B\u4EF6\u76D1\u542C\u7A0B\u5E8F\u7684\u5F15\u7528\u3002
elytron.security-domain.default-realm=\u6B64\u5B89\u5168\u57DF\u5305\u542B\u7684\u9ED8\u8BA4\u9886\u57DF\u3002
elytron.security-domain.realms=\u6B64\u5B89\u5168\u57DF\u5305\u542B\u7684\u9886\u57DF\u7684\u5217\u8868\u3002
elytron.security-domain.realms.realm=\u5BF9\u5355\u4E2A\u5B89\u5168\u9886\u57DF\u7684\u5F15\u7528\u3002
elytron.security-domain.realms.principal-transformer=\u8981\u4E0E\u9886\u57DF\u5173\u8054\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u3002
elytron.security-domain.realms.role-decoder=\u4E0E\u9886\u57DF\u5173\u8054\u7684 RoleDecoder \u5F15\u7528\u3002
elytron.security-domain.realms.role-mapper=\u4E0E\u9886\u57DF\u5173\u8054\u7684 RoleMapper \u5F15\u7528\u3002
elytron.security-domain.trusted-security-domains=\u53D7\u6B64\u5B89\u5168\u57DF\u4FE1\u4EFB\u7684\u5B89\u5168\u57DF\u5217\u8868\u3002
elytron.security-domain.trusted-virtual-security-domains=\u6B64\u5B89\u5168\u57DF\u4FE1\u4EFB\u7684\u865A\u62DF\u5B89\u5168\u57DF\u5217\u8868\u3002
elytron.security-domain.outflow-security-domains=\u6765\u81EA\u6B64\u57DF\u7684\u5B89\u5168\u8EAB\u4EFD\u5E94\u81EA\u52A8\u6D41\u51FA\u5230\u7684\u5B89\u5168\u57DF\u7684\u5217\u8868\u3002
elytron.security-domain.outflow-anonymous=\u6D41\u51FA\u81F3\u5B89\u5168\u57DF\u65F6\uFF0C\u5982\u679C\u4E0D\u80FD\u8FDB\u884C\u6D41\u51FA\uFF0C\u662F\u5426\u5E94\u4F7F\u7528\u533F\u540D\u8EAB\u4EFD\uFF1F\u4F7F\u7528\u533F\u540D\u6D41\u51FA\u4F1A\u5BFC\u81F4\u8BE5\u57DF\u4E2D\u5DF2\u6709\u7684\u8EAB\u4EFD\u88AB\u6E05\u9664\u3002

###########################
# Virtual Security Domain #
###########################

elytron.virtual-security-domain=\u865A\u62DF\u5B89\u5168\u57DF\u5B9A\u4E49\u3002
elytron.virtual-security-domain.add=\u865A\u62DF\u5B89\u5168\u57DF\u5B9A\u4E49\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.virtual-security-domain.remove=\u865A\u62DF\u5B89\u5168\u57DF\u5B9A\u4E49\u7684\u5220\u9664\u64CD\u4F5C\u3002
elytron.virtual-security-domain.outflow-security-domains=\u6765\u81EA\u6B64\u865A\u62DF\u57DF\u7684\u5B89\u5168\u8EAB\u4EFD\u5E94\u81EA\u52A8\u6D41\u51FA\u5230\u7684\u5B89\u5168\u57DF\u5217\u8868\u3002
elytron.virtual-security-domain.outflow-anonymous=\u5F53\u5916\u6D41\u5230\u4E00\u4E2A\u5B89\u5168\u57DF\u65F6\uFF0C\u5982\u679C\u4E0D\u5141\u8BB8\u5916\u6D41\u662F\u5426\u53EF\u4EE5\u4F7F\u7528\u533F\u540D\u8EAB\u4EFD\uFF1F\u5982\u679C\u57DF\u4E0D\u4FE1\u4EFB\u8FD9\u4E2A\u57DF\uFF0C\u6216\u88AB\u5916\u6D41\u7684\u8EAB\u4EFD\u6CA1\u6709\u5B58\u5728\u4E8E\u90A3\u4E2A\u6D41\u4E2D\u65F6\uFF0C\u5916\u6D41\u5230\u5B89\u5168\u57DF\u53EF\u80FD\u4E0D\u53EF\u80FD\u8FDB\u884C\u3002\u4EE5\u533F\u540D\u65B9\u5F0F\u8FDB\u884C\u5916\u6D41\u4F1A\u5BFC\u81F4\u6E05\u9664\u5DF2\u4E3A\u8BE5\u57DF\u5EFA\u7ACB\u7684\u4EFB\u4F55\u8EAB\u4EFD\u3002
elytron.virtual-security-domain.auth-method=\u5C06\u4E0E\u865A\u62DF\u5B89\u5168\u57DF\u4E00\u8D77\u4F7F\u7528\u7684\u9A8C\u8BC1\u673A\u5236\u3002\u5141\u8BB8\u7684\u503C\uFF1A 'OIDC', 'MP-JWT'\u3002\u9ED8\u8BA4\u503C\u4E3A 'OIDC'\u3002

#########################
# HTTP Server Factories #
#########################

elytron.aggregate-http-server-mechanism-factory=\u4E00\u4E2A http \u670D\u52A1\u5668\u5DE5\u5382\u5B9A\u4E49\uFF0C\u5176\u4E2D http \u670D\u52A1\u5668\u5DE5\u5382\u662F\u5176\u4ED6 http \u670D\u52A1\u5668\u5DE5\u5382\u7684\u805A\u5408\u3002
# Operations
elytron.aggregate-http-server-mechanism-factory.add=http \u670D\u52A1\u5668\u5DE5\u5382\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.aggregate-http-server-mechanism-factory.remove=http \u670D\u52A1\u5668\u5DE5\u5382\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.aggregate-http-server-mechanism-factory.http-server-mechanism-factories=\u8981\u805A\u5408\u7684\u5F15\u7528 http \u670D\u52A1\u5668\u5DE5\u5382\u3002
# Runtime Attributes
elytron.aggregate-http-server-mechanism-factory.available-mechanisms=\u6B64\u5DE5\u5382\u5B9E\u4F8B\u63D0\u4F9B\u7684\u53EF\u7528 HTTP \u673A\u5236\u3002

elytron.configurable-http-server-mechanism-factory=\u5C01\u88C5\u53E6\u4E00\u4E2A HTTP \u670D\u52A1\u5668\u5DE5\u5382\u4E14\u5E94\u7528\u6307\u5B9A\u7684\u914D\u7F6E\u548C\u8FC7\u6EE4\u7684 HTTP \u670D\u52A1\u5668\u5DE5\u5382\u5B9A\u4E49\u3002
# Operations
elytron.configurable-http-server-mechanism-factory.add=http \u670D\u52A1\u5668\u5DE5\u5382\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.configurable-http-server-mechanism-factory.remove=http \u670D\u52A1\u5668\u5DE5\u5382\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.configurable-http-server-mechanism-factory.http-server-mechanism-factory=\u8981\u5C01\u88C5\u7684 http \u670D\u52A1\u5668\u5DE5\u5382\u3002
elytron.configurable-http-server-mechanism-factory.properties=\u8981\u4F20\u9012\u81F3 http \u670D\u52A1\u5668\u5DE5\u5382\u8C03\u7528\u7684\u81EA\u5B9A\u4E49\u5C5E\u6027\u3002
elytron.configurable-http-server-mechanism-factory.filters=\u5C06\u5E94\u7528\u7684\u8FC7\u6EE4\uFF0C\u4EE5\u6839\u636E\u540D\u79F0\u542F\u7528/\u7981\u7528\u673A\u5236\u3002
elytron.configurable-http-server-mechanism-factory.filters.pattern-filter=\u57FA\u4E8E\u5E38\u89C4\u8868\u8FBE\u5F0F\u6A21\u5F0F\u7684\u8FC7\u6EE4\u5668\u3002
elytron.configurable-http-server-mechanism-factory.filters.enabling=\u8BE5\u8FC7\u6EE4\u5668\u662F\u5426\u4F1A\u5728\u5339\u914D\u65F6\u542F\u7528\u6216\u7981\u7528\u673A\u5236\u3002

# Runtime Attributes
elytron.configurable-http-server-mechanism-factory.available-mechanisms=\u6B64\u5DE5\u5382\u5B9E\u4F8B\u63D0\u4F9B\u7684\u53EF\u7528 HTTP \u673A\u5236\u3002

elytron.provider-http-server-mechanism-factory=\u4E00\u4E2A http \u670D\u52A1\u5668\u5DE5\u5382\u5B9A\u4E49\uFF0C\u5176\u4E2D http \u670D\u52A1\u5668\u5DE5\u5382\u662F\u6765\u81EA Provider[] \u7684\u5DE5\u5382\u805A\u5408
# Operations
elytron.provider-http-server-mechanism-factory.add=http \u670D\u52A1\u5668\u5DE5\u5382\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.provider-http-server-mechanism-factory.remove=http \u670D\u52A1\u5668\u5DE5\u5382\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.provider-http-server-mechanism-factory.providers=\u7528\u4E8E\u5B9A\u4F4D\u5DE5\u5382\u7684\u63D0\u4F9B\u7A0B\u5E8F\uFF0C\u5982\u679C\u6CA1\u6709\u6307\u5B9A\uFF0C\u5219\u4F7F\u7528\u5168\u5C40\u6CE8\u518C\u7684\u63D0\u4F9B\u7A0B\u5E8F\u5217\u8868\u3002
# Runtime Attributes
elytron.provider-http-server-mechanism-factory.available-mechanisms=\u6B64\u5DE5\u5382\u5B9E\u4F8B\u63D0\u4F9B\u7684\u53EF\u7528 HTTP \u673A\u5236\u3002

elytron.service-loader-http-server-mechanism-factory=\u4E00\u4E2A http \u670D\u52A1\u5668\u5DE5\u5382\u5B9A\u4E49\uFF0C\u5176\u4E2D http \u670D\u52A1\u5668\u5DE5\u5382\u662F\u4F7F\u7528 ServiceLoader \u786E\u5B9A\u7684\u5DE5\u5382\u805A\u5408
# Operations
elytron.service-loader-http-server-mechanism-factory.add=http \u670D\u52A1\u5668\u5DE5\u5382\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.service-loader-http-server-mechanism-factory.remove=http \u670D\u52A1\u5668\u5DE5\u5382\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.service-loader-http-server-mechanism-factory.module=\u7528\u4E8E\u83B7\u53D6\u52A0\u8F7D\u5DE5\u5382\u7684\u7C7B\u52A0\u8F7D\u5668\u7684\u6A21\u5757\uFF0C\u5982\u679C\u6CA1\u6709\u6307\u5B9A\uFF0C\u5219\u4F7F\u7528\u52A0\u8F7D\u8D44\u6E90\u7684\u7C7B\u52A0\u8F7D\u5668\u4EE3\u66FF\u3002
# Runtime Attributes
elytron.service-loader-http-server-mechanism-factory.available-mechanisms=\u6B64\u5DE5\u5382\u5B9E\u4F8B\u63D0\u4F9B\u7684\u53EF\u7528 HTTP \u673A\u5236\u3002

######################
# Security Factories #
######################

elytron.custom-credential-security-factory=\u4E00\u4E2A\u81EA\u5B9A\u4E49\u51ED\u8BC1 SecurityFactory \u5B9A\u4E49\u3002
# Operations
elytron.custom-credential-security-factory.add=\u5B89\u5168\u5DE5\u5382\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.custom-credential-security-factory.remove=\u5B89\u5168\u5DE5\u5382\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.custom-credential-security-factory.module=\u7528\u4E8E\u52A0\u8F7D\u81EA\u5B9A\u4E49\u5B89\u5168\u5DE5\u5382\u7684\u6A21\u5757\u3002
elytron.custom-credential-security-factory.class-name=\u81EA\u5B9A\u4E49\u5B89\u5168\u5DE5\u5382\u7684\u5B9E\u73B0\u7684\u7C7B\u540D\u79F0\u3002
elytron.custom-credential-security-factory.configuration=\u81EA\u5B9A\u4E49\u5B89\u5168\u5DE5\u5382\u7684\u53EF\u9009\u952E/\u503C\u914D\u7F6E\u3002

elytron.kerberos-security-factory=\u7528\u4E8E\u83B7\u53D6\u5728\u9A8C\u8BC1\u671F\u95F4\u4F7F\u7528\u7684 GSSCredential \u7684\u5B89\u5168\u5DE5\u5382\u3002
# Operations
elytron.kerberos-security-factory.add=Kerberos SecurityFactory \u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.kerberos-security-factory.remove=Kerberos SecurityFactory \u7684\u5220\u9664\u64CD\u4F5C
# Attributes
elytron.kerberos-security-factory.principal=KeyTab \u8868\u793A\u7684\u4E3B\u4F53
elytron.kerberos-security-factory.path=\u7528\u4E8E\u52A0\u8F7D\u4EE5\u83B7\u53D6\u51ED\u8BC1\u7684 KeyTab \u8DEF\u5F84\u3002
elytron.kerberos-security-factory.relative-to=\u53E6\u4E00\u4E2A\u4E4B\u524D\u547D\u540D\u7684\u8DEF\u5F84\u7684\u540D\u79F0\uFF0C\u6216\u8005\u7CFB\u7EDF\u63D0\u4F9B\u7684\u6807\u51C6\u8DEF\u5F84\u4E4B\u4E00\u3002\u5982\u679C\u63D0\u4F9B\u4E86 'relative-to' \uFF0C\u5219 'path' \u5C5E\u6027\u5C06\u4F5C\u4E3A\u8BE5\u5C5E\u6027\u6307\u5B9A\u7684\u8DEF\u5F84\u7684\u76F8\u5BF9\u8DEF\u5F84\u5BF9\u5F85\u3002
elytron.kerberos-security-factory.minimum-remaining-lifetime=\u88AB\u91CD\u65B0\u521B\u5EFA\u4E4B\u524D\uFF0C\u7F13\u5B58\u51ED\u8BC1\u5E94\u5269\u4F59\u7684\u751F\u547D\u5468\u671F\uFF08\u79D2\uFF09\u3002
elytron.kerberos-security-factory.request-lifetime=\u65B0\u521B\u5EFA\u7684\u51ED\u8BC1\u5E94\u8BF7\u6C42\u591A\u957F\u751F\u547D\u5468\u671F\uFF08\u79D2\uFF09\u3002
elytron.kerberos-security-factory.fail-cache=\u5982\u679C\u4E0A\u6B21\u5931\u8D25\u5E94\u518D\u6B21\u5C1D\u8BD5\u83B7\u53D6\u670D\u52A1\u5668\u51ED\u636E\u4E4B\u524D\u7684\u79D2\u6570\u3002
elytron.kerberos-security-factory.server=\u8FD9\u662F\u7528\u5728\u670D\u52A1\u5668\u7AEF\u8FD8\u662F\u5BA2\u6237\u7AEF\uFF1F
elytron.kerberos-security-factory.obtain-kerberos-ticket=\u662F\u5426\u4E5F\u5E94\u83B7\u53D6 KerberosTicket \u5E76\u4E0E\u5176\u4ED6\u51ED\u8BC1\u5173\u8054\u3002\u5F53\u51ED\u8BC1\u88AB\u59D4\u6D3E\u7ED9\u670D\u52A1\u5668\u65F6\uFF0C\u8981\u6C42\u5176\u8BBE\u7F6E\u4E3A true\u3002
elytron.kerberos-security-factory.debug=\u83B7\u53D6\u51ED\u8BC1\u7684 JAAS \u6B65\u9AA4\u662F\u5426\u5E94\u542F\u7528\u8C03\u8BD5\u65E5\u5FD7\u3002
elytron.kerberos-security-factory.wrap-gss-credential=\u662F\u5426\u5E94\u5C01\u88C5\u5DF2\u751F\u6210\u7684 GSS \u51ED\u8BC1\uFF0C\u4EE5\u514D\u88AB\u4E0D\u5F53\u5904\u7406\uFF1F
elytron.kerberos-security-factory.required=\u670D\u52A1\u5F00\u59CB\u65F6\uFF0C\u662F\u5426\u9700\u8981\u5B58\u5728\u5177\u5907\u8DB3\u591F\u4E3B\u4F53\u7684 keytab \u6587\u4EF6\uFF1F
elytron.kerberos-security-factory.mechanism-names=\u5E94\u8BE5\u53EF\u4E0E\u51ED\u8BC1\u914D\u5408\u4F7F\u7528\u7684\u673A\u5236\u540D\u79F0\u3002\u540D\u79F0\u5E94\u8F6C\u6362\u4E3A OID\uFF0C\u5E76\u4E0E\u6765\u81EA mechanism-oids \u5C5E\u6027\u7684 OID \u4E00\u8D77\u4F7F\u7528\u3002
elytron.kerberos-security-factory.mechanism-oids=\u5E94\u8BE5\u53EF\u4E0E\u51ED\u8BC1\u914D\u5408\u4F7F\u7528\u7684\u673A\u5236 OID\u3002\u5C06\u4E0E\u6D3E\u751F\u81EA mechanism-names \u5C5E\u6027\u4E2D\u7684\u540D\u79F0\u7684 OID \u4E00\u8D77\u4F7F\u7528\u3002
elytron.kerberos-security-factory.options=Krb5LoginModule \u9644\u52A0\u9009\u9879\u3002

######################
# Permission Mappers #
######################

elytron.custom-permission-mapper=\u81EA\u5B9A\u4E49\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u5B9A\u4E49\u3002
# Operations
elytron.custom-permission-mapper.add=\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.custom-permission-mapper.remove=\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.custom-permission-mapper.module=\u7528\u4E8E\u52A0\u8F7D\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u6A21\u5757\u7684\u540D\u79F0
elytron.custom-permission-mapper.class-name=\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D
elytron.custom-permission-mapper.configuration=\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u952E/\u503C\u914D\u7F6E

elytron.logical-permission-mapper=\u903B\u8F91\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u5B9A\u4E49\u3002
# Operations
elytron.logical-permission-mapper.add=\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.logical-permission-mapper.remove=\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.logical-permission-mapper.logical-operation=\u7528\u4E8E\u5408\u5E76\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u903B\u8F91\u64CD\u4F5C\u3002
elytron.logical-permission-mapper.left=\u5BF9\u5728\u64CD\u4F5C\u5DE6\u4FA7\u4F7F\u7528\u7684\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u5F15\u7528\u3002
elytron.logical-permission-mapper.right=\u5BF9\u5728\u64CD\u4F5C\u53F3\u4FA7\u4F7F\u7528\u7684\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u5F15\u7528\u3002

elytron.simple-permission-mapper=\u7B80\u5355\u914D\u7F6E\u7684\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u5B9A\u4E49\u3002
# Operations
elytron.simple-permission-mapper.add=\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.simple-permission-mapper.remove=\u8BB8\u53EF\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.simple-permission-mapper.mapping-mode=\u5E94\u5728\u51FA\u73B0\u591A\u4E2A\u5339\u914D\u65F6\u4F7F\u7528\u7684\u6620\u5C04\u6A21\u5F0F\u3002
elytron.simple-permission-mapper.permission-mappings=\u5B9A\u4E49\u7684\u8BB8\u53EF\u6620\u5C04\u3002
elytron.simple-permission-mapper.permission-mappings.match-all=\u8FD9\u4E2A\u6620\u5C04\u4F1A\u5E94\u7528\u5230\u6240\u6709\u8EAB\u4EFD\u3002
elytron.simple-permission-mapper.permission-mappings.principals=\u5728\u6620\u5C04\u8BB8\u53EF\u65F6\u7528\u4E8E\u6BD4\u8F83\u7684\u4E3B\u4F53\uFF0C\u5982\u679C\u8EAB\u4EFD\u4E3B\u4F53\u4E0E\u5217\u8868\u4E2D\u7684\u4EFB\u610F\u4E00\u9879\u5339\u914D\uFF0C\u5219\u5B83\u662F\u4E00\u4E2A\u5339\u914D\u9879\u3002
elytron.simple-permission-mapper.permission-mappings.roles=\u5728\u6620\u5C04\u8BB8\u53EF\u65F6\u7528\u4E8E\u6BD4\u8F83\u7684\u89D2\u8272\uFF0C\u5982\u679C\u8EAB\u4EFD\u4E0E\u5217\u8868\u4E2D\u7684\u4EFB\u610F\u4E00\u4E2A\u6210\u5458\u9879\u5339\u914D\uFF0C\u5219\u5B83\u662F\u4E00\u4E2A\u5339\u914D\u9879\u3002
elytron.simple-permission-mapper.permission-mappings.permission-sets=\u5728\u5339\u914D\u4E8B\u4EF6\u65F6\u5206\u914D\u7684\u8BB8\u53EF\u96C6\u3002
elytron.simple-permission-mapper.permission-mappings.permission-set=\u5230\u6743\u9650\u96C6\u7684\u5F15\u7528\u3002
elytron.simple-permission-mapper.permission-mappings.permissions=\u5339\u914D\u65F6\u8981\u5206\u914D\u7684\u6743\u9650\u3002
elytron.simple-permission-mapper.permission-mappings.permissions.deprecated=\u6539\u4E3A\u4F7F\u7528\u6743\u9650\u96C6\u3002
elytron.simple-permission-mapper.permission-mappings.class-name=\u6743\u9650\u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D\u3002
elytron.simple-permission-mapper.permission-mappings.module=\u7528\u6765\u52A0\u8F7D\u6743\u9650\u7684\u6A21\u5757\u3002
elytron.simple-permission-mapper.permission-mappings.target-name=\u6784\u5EFA\u65F6\u4F20\u9012\u7ED9\u6743\u9650\u7684\u76EE\u6807\u540D\u79F0\u3002
elytron.simple-permission-mapper.permission-mappings.action=\u6784\u5EFA\u65F6\u4F20\u9012\u7ED9\u6743\u9650\u7684\u64CD\u4F5C\u3002

elytron.constant-permission-mapper=\u59CB\u7EC8\u8FD4\u56DE\u76F8\u540C\u5E38\u91CF\u7684\u6743\u9650\u6620\u5C04\u5668\u7684\u5B9A\u4E49\u3002
# Operations
elytron.constant-permission-mapper.add=\u6743\u9650\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.constant-permission-mapper.remove=\u6743\u9650\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.constant-permission-mapper.permission-sets=\u8981\u5206\u914D\u7684\u6743\u9650\u96C6\u3002
elytron.constant-permission-mapper.permission-sets.permission-set=\u5230\u6743\u9650\u96C6\u7684\u5F15\u7528\u3002
elytron.constant-permission-mapper.permissions=\u8981\u5206\u914D\u7684\u6743\u9650\u3002
elytron.constant-permission-mapper.permissions.deprecated=\u6539\u4E3A\u4F7F\u7528\u6743\u9650\u96C6\u3002
elytron.constant-permission-mapper.permissions.class-name=\u6743\u9650\u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D\u3002
elytron.constant-permission-mapper.permissions.module=\u7528\u6765\u52A0\u8F7D\u6743\u9650\u7684\u6A21\u5757\u3002
elytron.constant-permission-mapper.permissions.target-name=\u6784\u5EFA\u65F6\u4F20\u9012\u7ED9\u6743\u9650\u7684\u76EE\u6807\u540D\u79F0\u3002
elytron.constant-permission-mapper.permissions.action=\u6784\u5EFA\u65F6\u4F20\u9012\u7ED9\u6743\u9650\u7684\u64CD\u4F5C\u3002

###################
# Permission Sets #
###################
elytron.permission-set=\u6743\u9650\u96C6\u7684\u5B9A\u4E49\u3002
# Operations
elytron.permission-set.add=\u6743\u9650\u96C6\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.permission-set.remove=\u6743\u9650\u96C6\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.permission-set.permissions=\u6743\u9650\u96C6\u4E2D\u7684\u6743\u9650\u3002
elytron.permission-set.permissions.class-name=\u6743\u9650\u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D\u3002
elytron.permission-set.permissions.module=\u7528\u6765\u52A0\u8F7D\u6743\u9650\u7684\u6A21\u5757\u3002
elytron.permission-set.permissions.target-name=\u6784\u5EFA\u65F6\u4F20\u9012\u7ED9\u6743\u9650\u7684\u76EE\u6807\u540D\u79F0\u3002
elytron.permission-set.permissions.action=\u6784\u5EFA\u65F6\u4F20\u9012\u7ED9\u6743\u9650\u7684\u64CD\u4F5C\u3002

######################
# Principal Decoders #
######################

elytron.aggregate-principal-decoder=\u4E00\u4E2A\u4E3B\u4F53\u89E3\u7801\u5668\u5B9A\u4E49\uFF0C\u5176\u4E2D\u4E3B\u4F53\u89E3\u7801\u5668\u662F\u5176\u4ED6\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u805A\u5408\u3002
# Operations
elytron.aggregate-principal-decoder.add=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.aggregate-principal-decoder.remove=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.aggregate-principal-decoder.principal-decoders=\u8981\u805A\u5408\u7684\u5F15\u7528\u7684\u4E3B\u4F53\u89E3\u7801\u5668\u3002

elytron.concatenating-principal-decoder=\u4E00\u4E2A\u4E3B\u4F53\u89E3\u7801\u5668\u5B9A\u4E49\uFF0C\u5176\u4E2D\u4E3B\u4F53\u89E3\u7801\u5668\u662F\u5176\u4ED6\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u4E32\u8054\u3002
# Operations
elytron.concatenating-principal-decoder.add=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.concatenating-principal-decoder.remove=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.concatenating-principal-decoder.joiner=\u7528\u6765\u52A0\u5165\u5F15\u7528\u7684\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u7ED3\u679C\u7684\u5B57\u7B26\u4E32\u3002
elytron.concatenating-principal-decoder.principal-decoders=\u8981\u4E32\u8054\u7684\u5F15\u7528\u7684\u4E3B\u4F53\u89E3\u7801\u5668\u3002

elytron.constant-principal-decoder=\u59CB\u7EC8\u8FD4\u56DE\u76F8\u540C\u5E38\u91CF\u7684\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u5B9A\u4E49\u3002
# Operations
elytron.constant-principal-decoder.add=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.constant-principal-decoder.remove=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.constant-principal-decoder.constant=\u4E3B\u4F53\u89E3\u7801\u5668\u59CB\u7EC8\u8FD4\u56DE\u7684\u5E38\u91CF\u503C\u3002

elytron.custom-principal-decoder=\u81EA\u5B9A\u4E49\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u5B9A\u4E49
# Operations
elytron.custom-principal-decoder.add=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.custom-principal-decoder.remove=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.custom-principal-decoder.module=\u7528\u4E8E\u52A0\u8F7D\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u6A21\u5757\u7684\u540D\u79F0
elytron.custom-principal-decoder.class-name=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D
elytron.custom-principal-decoder.configuration=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u53EF\u9009\u952E/\u503C\u914D\u7F6E

elytron.x500-attribute-principal-decoder=\u57FA\u4E8E X.500 \u5C5E\u6027\u7684\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u5B9A\u4E49
# Operations
elytron.x500-attribute-principal-decoder.add=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.x500-attribute-principal-decoder.remove=\u4E3B\u4F53\u89E3\u7801\u5668\u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.x500-attribute-principal-decoder.oid=\u8981\u6620\u5C04\u7684 X.500 \u5C5E\u6027\u7684 OID\uFF08\u53EF\u6539\u4E3A\u4F7F\u7528\u5C5E\u6027\u540D\u79F0\u6765\u5B9A\u4E49\uFF09
elytron.x500-attribute-principal-decoder.attribute-name=\u8981\u6620\u5C04\u7684 X.500 \u5C5E\u6027\u7684\u540D\u79F0\uFF08\u53EF\u6539\u4E3A\u4F7F\u7528 OID \u6765\u5B9A\u4E49\uFF09
elytron.x500-attribute-principal-decoder.joiner=\u6B63\u5728\u52A0\u5165\u7684\u5B57\u7B26\u4E32
elytron.x500-attribute-principal-decoder.start-segment=\u8981\u6620\u5C04\u7684\u5C5E\u6027\u57FA\u4E8E 0 \u7684\u9996\u6B21\u51FA\u73B0
elytron.x500-attribute-principal-decoder.maximum-segments=\u8981\u6620\u5C04\u7684\u5C5E\u6027\u7684\u6700\u5927\u51FA\u73B0\u6B21\u6570
elytron.x500-attribute-principal-decoder.reverse=\u8BBE\u5B9A\u4E3A 'True' \u65F6\uFF0C\u5C5E\u6027\u503C\u5C06\u88AB\u5904\u7406\uFF0C\u5E76\u6309\u76F8\u53CD\u987A\u5E8F\u8FD4\u56DE
elytron.x500-attribute-principal-decoder.convert=\u8BBE\u5B9A\u4E3A 'True' \u65F6\uFF0C\u5982\u679C\u4E3B\u4F53\u8FD8\u4E0D\u662F X500Principal\uFF0C\u5219\u5C06\u5C1D\u8BD5\u5BF9\u8BDD
elytron.x500-attribute-principal-decoder.required-oids=\u5FC5\u987B\u5728\u4E3B\u4F53\u4E2D\u5B58\u5728\u7684\u5C5E\u6027\u7684 OID
elytron.x500-attribute-principal-decoder.required-attributes=\u5FC5\u987B\u5728\u4E3B\u4F53\u4E2D\u5B58\u5728\u7684\u5C5E\u6027\u7684\u5C5E\u6027\u540D\u79F0

##########################
# Principal Transformers #
##########################

elytron.aggregate-principal-transformer=\u805A\u5408\u66F4\u591A\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u3002\u5C1D\u8BD5\u4F7F\u7528\u72EC\u7ACB\u8F6C\u6362\u5668\u6765\u8F6C\u6362\u539F\u59CB\u4E3B\u4F53\uFF0C\u76F4\u5230\u4E00\u4E2A\u8FD4\u56DE\u975E\u7A7A\u4E3B\u4F53 - \u8FD4\u56DE\u3002
# Operations
elytron.aggregate-principal-transformer.add=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.aggregate-principal-transformer.remove=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.aggregate-principal-transformer.principal-transformers=\u8981\u805A\u5408\u7684\u5F15\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u3002

elytron.chained-principal-transformer=\u4E00\u4E2A\u4E3B\u4F53\u8F6C\u6362\u5668\u5B9A\u4E49\uFF0C\u5176\u4E2D\u4E3B\u4F53\u8F6C\u6362\u5668\u662F\u5176\u4ED6\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u94FE\u63A5\u3002
# Operations
elytron.chained-principal-transformer.add=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.chained-principal-transformer.remove=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.chained-principal-transformer.principal-transformers=\u8981\u94FE\u63A5\u7684\u5F15\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u3002

elytron.constant-principal-transformer=\u59CB\u7EC8\u8FD4\u56DE\u76F8\u540C\u5E38\u91CF\u7684 PrincipalTransformer \u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u5B9A\u4E49\u3002
# Operations
elytron.constant-principal-transformer.add=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.constant-principal-transformer.remove=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.constant-principal-transformer.constant=\u8BE5 PrincipalTransformer \u59CB\u7EC8\u8FD4\u56DE\u7684\u5E38\u91CF\u503C\u3002

elytron.custom-principal-transformer=\u4E00\u4E2A\u81EA\u5B9A\u4E49\u4E3B\u4F53\u8F6C\u6362\u5668\u5B9A\u4E49\u3002
# Operations
elytron.custom-principal-transformer.add=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.custom-principal-transformer.remove=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.custom-principal-transformer.module=\u7528\u4E8E\u52A0\u8F7D\u81EA\u5B9A\u4E49\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u6A21\u5757\u3002
elytron.custom-principal-transformer.class-name=\u81EA\u5B9A\u4E49\u4E3B\u4F53\u8F6C\u6362\u5668\u5B9E\u73B0\u7684\u7C7B\u540D\u79F0\u3002
elytron.custom-principal-transformer.configuration=\u81EA\u5B9A\u4E49\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u53EF\u9009\u952E/\u503C\u914D\u7F6E\u3002

elytron.regex-principal-transformer=\u57FA\u4E8E\u5E38\u89C4\u8868\u8FBE\u5F0F\u7684\u4E3B\u4F53\u8F6C\u6362\u5668
# Operations
elytron.regex-principal-transformer.add=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.regex-principal-transformer.remove=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.regex-principal-transformer.pattern=\u7528\u6765\u5B9A\u4F4D\u8981\u66FF\u6362\u7684\u540D\u79F0\u90E8\u5206\u7684\u5E38\u89C4\u8868\u8FBE\u5F0F\u3002
elytron.regex-principal-transformer.replacement=\u8981\u7528\u4F5C\u66FF\u4EE3\u7684\u503C\u3002
elytron.regex-principal-transformer.replace-all=\u5E94\u66FF\u6362\u6240\u6709\u5DF2\u51FA\u73B0\u7684\u5339\u914D\u7684\u6A21\u5F0F\uFF0C\u8FD8\u662F\u53EA\u66FF\u6362\u7B2C\u4E00\u4E2A\u3002

elytron.regex-validating-principal-transformer=\u4F7F\u7528\u5E38\u89C4\u8868\u8FBE\u5F0F\u6765\u9A8C\u8BC1\u540D\u79F0\u7684\u57FA\u4E8E\u5E38\u89C4\u8868\u8FBE\u5F0F\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u3002
# Operations
elytron.regex-validating-principal-transformer.add=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.regex-validating-principal-transformer.remove=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.regex-validating-principal-transformer.pattern=\u4F9B\u4E3B\u4F53\u8F6C\u6362\u5668\u4F7F\u7528\u7684\u5E38\u89C4\u8868\u8FBE\u5F0F\u3002
elytron.regex-validating-principal-transformer.match=\u5982\u679C\u8BBE\u7F6E\u4E3A true\uFF0C\u5219\u540D\u79F0\u5FC5\u987B\u4E0E\u7ED9\u5B9A\u6A21\u5F0F\u5339\u914D\uFF0C\u4EE5\u4F7F\u9A8C\u8BC1\u6210\u529F\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A false\uFF0C\u5219\u540D\u79F0\u5FC5\u987B\u4E0E\u7ED9\u5B9A\u6A21\u5F0F\u4E0D\u5339\u914D\uFF0C\u624D\u80FD\u4F7F\u9A8C\u8BC1\u6210\u529F\u3002

elytron.case-principal-transformer=\u7528\u4E8E\u5C06\u4E3B\u4F53\u8C03\u6574\u4E3A\u5927\u5199\u6216\u5C0F\u5199\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u3002
# Operations
elytron.case-principal-transformer.add=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.case-principal-transformer.remove=\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.case-principal-transformer.upper-case=\u5982\u679C\u8BBE\u4E3A true\uFF0C\u5219\u4E3B\u4F53\u88AB\u8C03\u6574\u4E3A\u5927\u5199\u3002\u5982\u679C\u8BBE\u4E3A false\uFF0C\u5219\u4E3B\u4F53\u88AB\u8C03\u6574\u4E3A\u5C0F\u5199\u3002

######################
# Evidence Decoders #
######################

elytron.aggregate-evidence-decoder=\u4E00\u79CD\u8BC1\u636E\u89E3\u7801\u5668\uFF0C\u5B83\u662F\u5176\u4ED6\u8BC1\u636E\u89E3\u7801\u5668\u7684\u805A\u5408\u3002\u6839\u636E\u8BC1\u636E\uFF0C\u8FD9\u4E9B\u8BC1\u636E\u89E3\u7801\u5668\u5C06\u6309\u987A\u5E8F\u8FDB\u884C\u5C1D\u8BD5\uFF0C\u76F4\u5230\u8FD4\u56DE\u4E00\u4E2A\u975E null \u4E3B\u4F53\uFF0C\u6216\u76F4\u5230\u6CA1\u6709\u66F4\u591A\u7684\u8BC1\u636E\u89E3\u7801\u5668\u53EF\u4F9B\u5C1D\u8BD5\u3002
# Operations
elytron.aggregate-evidence-decoder.add=\u8BC1\u636E\u89E3\u7801\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.aggregate-evidence-decoder.remove=\u8BC1\u636E\u89E3\u7801\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.aggregate-evidence-decoder.evidence-decoders=\u8981\u805A\u5408\u7684\u5F15\u7528\u7684\u8BC1\u636E\u89E3\u7801\u5668\u3002

elytron.x509-subject-alt-name-evidence-decoder=\u4E00\u4E2A\u8BC1\u636E\u89E3\u7801\u5668\uFF0C\u5B83\u83B7\u53D6\u4E0E\u6765\u81EA\u7ED9\u5B9A\u8BC1\u636E\u4E2D\u7684\u7B2C\u4E00\u4E2A\u8BC1\u4E66\u7684 X.509 \u4E3B\u9898\u53EF\u66FF\u4EE3\u540D\u79F0\u7684\u7ED9\u5B9A\u8BC1\u636E\u76F8\u5173\u8054\u7684\u4E3B\u4F53\u3002
# Operations
elytron.x509-subject-alt-name-evidence-decoder.add=\u8BC1\u636E\u89E3\u7801\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.x509-subject-alt-name-evidence-decoder.remove=\u8BC1\u636E\u89E3\u7801\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.x509-subject-alt-name-evidence-decoder.alt-name-type=\u8981\u4ECE\u7ED9\u5B9A\u8BC1\u636E\u89E3\u7801\u7684\u4E3B\u9898\u53EF\u66FF\u4EE3\u540D\u79F0\u7C7B\u578B\u3002\u6709\u6548\u503C\u4E3A\uFF1A'rfc822Name'\u3001'dNSName'\u3001'directoryName'\u3001'uniformResourceIdentifier'\u3001'iPAddress'\u3001'registeredID'
elytron.x509-subject-alt-name-evidence-decoder.segment=\u8981\u6620\u5C04\u7684\u4E3B\u9898\u53EF\u66FF\u6362\u540D\u79F0\u7684 0 \u5F00\u59CB\u7684\u51FA\u73B0\u3002\u8FD9\u4E2A\u5C5E\u6027\u662F\u53EF\u9009\u7684\uFF0C\u53EA\u6709\u5728\u6709\u591A\u4E2A\u7ED9\u5B9A\u7684 alt-name-type \u7684\u4E3B\u9898\u53EF\u66FF\u6362\u540D\u79F0\u65F6\u88AB\u4F7F\u7528\u3002\u9ED8\u8BA4\u503C\u4E3A 0\u3002

elytron.x500-subject-evidence-decoder=\u4E00\u4E2A\u8BC1\u636E\u89E3\u7801\u5668\uFF0C\u5B83\u83B7\u53D6\u4E0E\u6765\u81EA\u4E0E\u7ED9\u5B9A\u8BC1\u636E\u4E2D\u7684\u7B2C\u4E00\u4E2A\u8BC1\u4E66\u7684\u4E3B\u9898\u7684\u7ED9\u5B9A\u8BC1\u636E\u76F8\u5173\u8054\u7684\u4E3B\u4F53\u3002
# Operations
elytron.x500-subject-evidence-decoder.add=\u8BC1\u636E\u89E3\u7801\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.x500-subject-evidence-decoder.remove=\u8BC1\u636E\u89E3\u7801\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002

elytron.custom-evidence-decoder=\u5B9A\u5236 evidence \u89E3\u7801\u5668\u7684\u5B9A\u4E49\u3002
# Operations
elytron.custom-evidence-decoder.add=evidence \u89E3\u7801\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.custom-evidence-decoder.remove=evidence \u89E3\u7801\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
#Attributes
elytron.custom-evidence-decoder.module=\u7528\u4E8E\u52A0\u8F7D evidence \u89E3\u7801\u5668\u7684\u6A21\u5757\u7684\u540D\u79F0\u3002
elytron.custom-evidence-decoder.class-name=evidence \u89E3\u7801\u5668\u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D\u3002
elytron.custom-evidence-decoder.configuration=evidence \u89E3\u7801\u5668\u7684\u53EF\u9009\u952E/\u503C\u914D\u7F6E\u3002

####################################
# Expression Resolver (Encryption) #
####################################

elytron.expression=\u5B9A\u4E49\u4E00\u4E2A\u8868\u8FBE\u5F0F\u89E3\u6790\u5668\u6765\u89E3\u5BC6\u52A0\u5BC6\u7684\u8868\u8FBE\u5F0F\u3002
elytron.expression.encryption=\u5B9A\u4E49\u4E00\u4E2A\u8868\u8FBE\u5F0F\u89E3\u6790\u5668\u6765\u89E3\u5BC6\u52A0\u5BC6\u7684\u8868\u8FBE\u5F0F\u3002
# Operations
elytron.expression.encryption.add=\u6DFB\u52A0\u8868\u8FBE\u5F0F\u89E3\u6790\u5668\u7684\u64CD\u4F5C\u3002
elytron.expression.encryption.remove=\u5220\u9664\u8868\u8FBE\u5F0F\u89E3\u6790\u5668\u7684\u64CD\u4F5C\u3002
elytron.expression.encryption.create-expression=\u64CD\u4F5C\u6765\u4F7F\u7528\u6307\u5B9A\u7684\u89E3\u6790\u5668\u52A0\u5BC6\u6240\u63D0\u4F9B\u7684\u6E05\u6670\u6587\u672C\u5E76\u8FD4\u56DE\u4E00\u4E2A\u53EF\u7528\u7684\u8868\u8FBE\u5F0F\u3002
elytron.expression.encryption.create-expression.resolver=\u7528\u4E8E\u52A0\u5BC6\u660E\u6587\u7684\u89E3\u6790\u7A0B\u5E8F\u914D\u7F6E\u3002\u5728\u7701\u7565\u4E86 default-resolver \u65F6\u5C06\u4F7F\u7528\u3002
elytron.expression.encryption.create-expression.clear-text=\u8981\u52A0\u5BC6\u7684\u660E\u6587\u503C\u3002

# Attributes
elytron.expression.encryption.resolvers=\u8868\u8FBE\u5F0F\u89E3\u6790\u5668\u5B9A\u4E49\u7684\u5217\u8868\u3002
elytron.expression.encryption.resolvers.name=\u8868\u8FBE\u5F0F\u89E3\u6790\u5668\u5B9A\u4E49\u7684\u540D\u79F0\u3002
elytron.expression.encryption.resolvers.credential-store=\u8FD9\u4E2A\u89E3\u6790\u5668\u4F7F\u7528\u7684\u51ED\u8BC1\u5B58\u50A8\u7684\u5F15\u7528\u3002
elytron.expression.encryption.resolvers.secret-key=\u7528\u4E8E\u52A0\u5BC6\u7684\u51ED\u8BC1\u5B58\u50A8\u4E2D\u7684 SecretKey \u7684\u522B\u540D\u3002
elytron.expression.encryption.default-resolver=\u5982\u679C\u6CA1\u6709\u5728\u8868\u8FBE\u5F0F\u4E2D\u4F7F\u7528\u9ED8\u8BA4\u8868\u8FBE\u5F0F\u89E3\u6790\u5668\uFF0C\u5219\u4F7F\u7528\u9ED8\u8BA4\u8868\u8FBE\u5F0F\u89E3\u6790\u5668\u3002\u5982\u679C\u6CA1\u6709\u8BBE\u7F6E\uFF0C\u5219\u4EE3\u8868\u6CA1\u6709\u9ED8\u8BA4\u503C\u3002
elytron.expression.encryption.prefix=\u52A0\u5BC6\u8868\u8FBE\u5F0F\u4F7F\u7528\u7684\u524D\u7F00\u3002

#################
# Realm Mappers #
#################

elytron.constant-realm-mapper=\u59CB\u7EC8\u8FD4\u56DE\u76F8\u540C\u503C\u7684\u5E38\u91CF RealmMapper \u7684\u5B9A\u4E49\u3002
# Operations
elytron.constant-realm-mapper.add=RealmMapper \u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.constant-realm-mapper.remove=RealmMapper \u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.constant-realm-mapper.realm-name=\u8981\u8FD4\u56DE\u7684\u5E38\u91CF\u57DF\u7684\u540D\u79F0\u3002

elytron.custom-realm-mapper=\u81EA\u5B9A\u4E49 RealmMapper \u7684\u5B9A\u4E49
# Operations
elytron.custom-realm-mapper.add=RealmMapper \u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.custom-realm-mapper.remove=RealmMapper \u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.custom-realm-mapper.module=\u7528\u4E8E\u52A0\u8F7D RealmMapper \u7684\u6A21\u5757\u7684\u540D\u79F0
elytron.custom-realm-mapper.class-name=RealmMapper \u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D
elytron.custom-realm-mapper.configuration=RealmMapper \u7684\u53EF\u9009\u952E/\u503C\u914D\u7F6E

elytron.simple-regex-realm-mapper=\u5C1D\u8BD5\u4F7F\u7528\u6765\u81EA\u6B63\u5219\u8868\u8FBE\u5F0F\u7684\u6355\u83B7\u7EC4\u6765\u63D0\u53D6\u57DF\u540D\u79F0\u7684\u7B80\u5355 RealmMapper \u7684\u5B9A\u4E49\uFF0C\u5982\u679C\u672A\u63D0\u4F9B\u5339\u914D\uFF0C\u5219\u4F7F\u7528\u59D4\u6D3E RealmMapper \u6765\u4EE3\u66FF\u3002
# Operations
elytron.simple-regex-realm-mapper.add=RealmMapper \u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.simple-regex-realm-mapper.remove=RealmMapper \u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.simple-regex-realm-mapper.pattern=\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u4E2A\u6355\u83B7\u7EC4\u4EE5\u4ECE\u540D\u79F0\u4E2D\u63D0\u53D6\u9886\u57DF\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u3002\u5982\u679C\u6B63\u5219\u8868\u8FBE\u5F0F\u4E0E\u591A\u4E2A\u6355\u83B7\u7EC4\u5339\u914D\uFF0C\u5219\u4F7F\u7528\u7B2C\u4E00\u4E2A\u6355\u83B7\u7EC4\u3002
elytron.simple-regex-realm-mapper.delegate-realm-mapper=\u6CA1\u6709\u4F7F\u7528\u8BE5\u6A21\u5F0F\u7684\u5339\u914D\u9879\u65F6\uFF0C\u8981\u59D4\u6D3E\u7684 RealmMapper\u3002

elytron.mapped-regex-realm-mapper=RealmMapper \u5B9E\u73B0\u7684\u5B9A\u4E49\uFF0C\u6700\u5148\u4F7F\u7528\u5E38\u89C4\u8868\u8FBE\u5F0F\u6765\u63D0\u53D6\u9886\u57DF\u540D\u79F0\uFF0C\u7136\u540E\u4F7F\u7528\u57DF\u540D\u79F0\u7684\u914D\u7F6E\u6620\u5C04\u8FDB\u884C\u8F6C\u6362\u3002
# Operations
elytron.mapped-regex-realm-mapper.add=RealmMapper \u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.mapped-regex-realm-mapper.remove=RealmMapper \u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.mapped-regex-realm-mapper.pattern=\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u4E2A\u6355\u83B7\u7EC4\u4EE5\u4ECE\u540D\u79F0\u4E2D\u63D0\u53D6\u9886\u57DF\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u3002\u5982\u679C\u6B63\u5219\u8868\u8FBE\u5F0F\u4E0E\u591A\u4E2A\u6355\u83B7\u7EC4\u5339\u914D\uFF0C\u5219\u4F7F\u7528\u7B2C\u4E00\u4E2A\u6355\u83B7\u7EC4\u3002
elytron.mapped-regex-realm-mapper.delegate-realm-mapper=\u6A21\u5F0F\u4E0D\u5339\u914D\u65F6\u8981\u59D4\u6D3E\u7684 RealmMapper\u3002\u5982\u679C\u672A\u6307\u5B9A\u59D4\u6D3E\u9879\uFF0C\u5219\u4F7F\u7528\u57DF\u7684\u9ED8\u8BA4\u9886\u57DF\u6765\u4EE3\u66FF\u3002\u5982\u679C\u7528\u6237\u540D\u4E0E\u6A21\u5F0F\u4E0D\u5339\u914D\uFF0C\u4E14\u5B58\u5728\u59D4\u6D3E realm-mapper\uFF0C\u5219\u901A\u8FC7 realm-map \u6765\u6620\u5C04 delegate-realm-mapper \u7684\u7ED3\u679C\u3002
elytron.mapped-regex-realm-mapper.realm-map=\u5C06\u4F7F\u7528\u5E38\u89C4\u8868\u8FBE\u5F0F\u63D0\u53D6\u7684\u9886\u57DF\u540D\u79F0\u6620\u5C04\u81F3\u5B9A\u4E49\u7684\u9886\u57DF\u540D\u79F0\u3002\u5982\u679C\u6620\u5C04\u7684\u503C\u4E0D\u5728\u6620\u5C04\u5185\uFF0C\u6216\u8005\u540D\u79F0\u662F\u6620\u5C04\u7ED3\u679C\u7684\u9886\u57DF\u4E0D\u5728\u7ED9\u5B9A\u7684\u5B89\u5168\u9886\u57DF\u5185\uFF0C\u5219\u4F7F\u7528\u9ED8\u8BA4\u9886\u57DF\u3002

#################
# Role Decoders #
#################

elytron.custom-role-decoder=\u81EA\u5B9A\u4E49 RoleDecoder \u7684\u5B9A\u4E49
# Operations
elytron.custom-role-decoder.add=RoleDecoder \u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.custom-role-decoder.remove=RoleDecoder \u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.custom-role-decoder.module=\u7528\u4E8E\u52A0\u8F7D RoleDecoder \u7684\u6A21\u5757\u7684\u540D\u79F0
elytron.custom-role-decoder.class-name=RoleDecoder \u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D
elytron.custom-role-decoder.configuration=RoleDecoder \u7684\u53EF\u9009\u952E/\u503C\u914D\u7F6E

elytron.empty-role-decoder=\u4ECE\u4E0D\u8FD4\u56DE\u4EFB\u4F55\u89D2\u8272\u7684\u7A7A RoleDecoder \u7684\u5B9A\u4E49\u3002
# Operations
elytron.empty-role-decoder.add=RoleDecoder \u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.empty-role-decoder.remove=RoleDecoder \u7684\u5220\u9664\u64CD\u4F5C

elytron.simple-role-decoder=\u91C7\u7528\u5355\u4E2A\u5C5E\u6027\u4E14\u76F4\u63A5\u5C06\u5176\u6620\u5C04\u81F3\u89D2\u8272\u7684\u7B80\u5355 RoleDecoder \u7684\u5B9A\u4E49\u3002
# Operations
elytron.simple-role-decoder.add=RoleDecoder \u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.simple-role-decoder.remove=RoleDecoder \u7684\u5220\u9664\u64CD\u4F5C
# Attributes
elytron.simple-role-decoder.attribute=\u76F4\u63A5\u6620\u5C04\u81F3\u89D2\u8272\u7684\u8EAB\u4EFD\u4E2D\u7684\u5C5E\u6027\u7684\u540D\u79F0\u3002

elytron.source-address-role-decoder=\u6839\u636E\u8FDC\u7A0B\u5BA2\u6237\u7AEF\u7684 IP \u5730\u5740\u6620\u5C04\u89D2\u8272\u7684 RoleDecoder\u3002
# Operations
elytron.source-address-role-decoder.add=RoleDecoder \u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.source-address-role-decoder.remove=RoleDecoder \u7684\u5220\u9664\u64CD\u4F5C
# Attributes
elytron.source-address-role-decoder.source-address=\u8981\u5339\u914D\u7684 IP \u5730\u5740\u3002
elytron.source-address-role-decoder.pattern=\u6307\u5B9A\u8981\u5339\u914D\u7684 IP \u5730\u5740\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\u3002
elytron.source-address-role-decoder.roles=\u5982\u679C\u8FDC\u7A0B\u5BA2\u6237\u7AEF\u7684 IP \u5730\u5740\u5339\u914D\uFF0C\u5219\u8981\u5206\u914D\u7684\u89D2\u8272\u5217\u8868\u3002

elytron.aggregate-role-decoder=\u5B9A\u4E49\u5176\u4ED6\u89D2\u8272\u89E3\u7801\u5668\u7684 RoleDecoder\u3002
# Operations
elytron.aggregate-role-decoder.add=\u89D2\u8272\u89E3\u7801\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.aggregate-role-decoder.remove=\u89D2\u8272\u89E3\u7801\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.aggregate-role-decoder.role-decoders=\u8981\u805A\u5408\u7684\u5F15\u7528\u7684\u89D2\u8272\u89E3\u7801\u5668\u3002

################
# Role Mappers #
################

elytron.add-prefix-role-mapper=\u4E3A\u6BCF\u4E2A\u63D0\u4F9B\u9879\u6DFB\u52A0\u524D\u7F00\u7684\u89D2\u8272\u6620\u5C04\u5668\u7684\u89D2\u8272\u6620\u5C04\u5668\u5B9A\u4E49\u3002
# Operations
elytron.add-prefix-role-mapper.add=\u89D2\u8272\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.add-prefix-role-mapper.remove=\u89D2\u8272\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.add-prefix-role-mapper.prefix=\u4E3A\u6BCF\u4E2A\u89D2\u8272\u6DFB\u52A0\u7684\u524D\u7F00\u3002

elytron.add-suffix-role-mapper=\u4E3A\u6BCF\u4E2A\u63D0\u4F9B\u9879\u6DFB\u52A0\u540E\u7F00\u7684\u89D2\u8272\u6620\u5C04\u5668\u7684\u89D2\u8272\u6620\u5C04\u5668\u5B9A\u4E49\u3002
# Operations
elytron.add-suffix-role-mapper.add=\u89D2\u8272\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.add-suffix-role-mapper.remove=\u89D2\u8272\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.add-suffix-role-mapper.suffix=\u4E3A\u6BCF\u4E2A\u89D2\u8272\u6DFB\u52A0\u7684\u540E\u7F00\u3002

elytron.aggregate-role-mapper=\u4E00\u4E2A\u89D2\u8272\u6620\u5C04\u5668\u5B9A\u4E49\uFF0C\u5176\u4E2D\u89D2\u8272\u6620\u5C04\u5668\u662F\u5176\u4ED6\u89D2\u8272\u6620\u5C04\u5668\u7684\u805A\u5408\u3002
# Operations
elytron.aggregate-role-mapper.add=\u89D2\u8272\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.aggregate-role-mapper.remove=\u89D2\u8272\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.aggregate-role-mapper.role-mappers=\u8981\u805A\u5408\u7684\u88AB\u5F15\u7528\u7684\u89D2\u8272\u6620\u5C04\u5668\u3002

elytron.constant-role-mapper=\u4E00\u4E2A\u89D2\u8272\u6620\u5C04\u5668\u5B9A\u4E49\uFF0C\u5176\u4E2D\u59CB\u7EC8\u8FD4\u56DE\u4E00\u7EC4\u5E38\u91CF\u89D2\u8272\u3002
# Operations
elytron.constant-role-mapper.add=\u89D2\u8272\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.constant-role-mapper.remove=\u89D2\u8272\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.constant-role-mapper.roles=\u6B64\u89D2\u8272\u6620\u5C04\u5668\u8FD4\u56DE\u7684\u5E38\u91CF\u89D2\u8272\u3002

elytron.custom-role-mapper=\u81EA\u5B9A\u4E49 RoleMapper \u7684\u5B9A\u4E49
# Operations
elytron.custom-role-mapper.add=RoleMapper \u7684\u6DFB\u52A0\u64CD\u4F5C
elytron.custom-role-mapper.remove=RoleMapper \u7684\u5220\u9664\u64CD\u4F5C
#Attributes
elytron.custom-role-mapper.module=\u7528\u4E8E\u52A0\u8F7D RoleMapper \u7684\u6A21\u5757\u7684\u540D\u79F0
elytron.custom-role-mapper.class-name=RoleMapper \u7684\u5B8C\u5168\u9650\u5B9A\u7C7B\u540D
elytron.custom-role-mapper.configuration=RoleMapper \u7684\u53EF\u9009\u952E/\u503C\u914D\u7F6E

elytron.logical-role-mapper=\u4F7F\u7528\u4E24\u4E2A\u5F15\u7528\u7684 RoleMapper \u6765\u6267\u884C\u903B\u8F91\u64CD\u4F5C\u7684 RoleMapper \u7684 RoleMapper \u5B9A\u4E49\u3002
# Operations
elytron.logical-role-mapper.add=\u89D2\u8272\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.logical-role-mapper.remove=\u89D2\u8272\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.logical-role-mapper.logical-operation=\u5728\u89D2\u8272\u6620\u5C04\u5668\u6620\u5C04\u4E0A\u6267\u884C\u7684\u903B\u8F91\u64CD\u4F5C\u3002
elytron.logical-role-mapper.left=\u5BF9\u5728\u64CD\u4F5C\u5DE6\u4FA7\u4F7F\u7528\u7684\u89D2\u8272\u6620\u5C04\u5668\u7684\u5F15\u7528\u3002
elytron.logical-role-mapper.right=\u5BF9\u5728\u64CD\u4F5C\u53F3\u4FA7\u4F7F\u7528\u7684\u89D2\u8272\u6620\u5C04\u5668\u7684\u5F15\u7528\u3002

elytron.mapped-role-mapper=\u57FA\u4E8E\u914D\u7F6E\u7684\u6620\u5C04\u6267\u884C\u6620\u5C04\u7684 RoleMapper \u7684 RoleMapper \u5B9A\u4E49\u3002
# Operations
elytron.mapped-role-mapper.add=\u89D2\u8272\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.mapped-role-mapper.remove=\u89D2\u8272\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.mapped-role-mapper.keep-mapped=\u8BBE\u7F6E\u4E3A 'true' \u65F6\uFF0C\u6620\u5C04\u7684\u89D2\u8272\u5C06\u4FDD\u7559\u6240\u6709\u5305\u542B\u5DF2\u5B9A\u4E49\u6620\u5C04\u7684\u89D2\u8272\u3002
elytron.mapped-role-mapper.keep-non-mapped=\u8BBE\u7F6E\u4E3A 'true' \u65F6\uFF0C\u6620\u5C04\u7684\u89D2\u8272\u5C06\u4FDD\u7559\u6240\u6709\u4E0D\u5305\u542B\u5DF2\u5B9A\u4E49\u6620\u5C04\u7684\u89D2\u8272\u3002
elytron.mapped-role-mapper.role-map=\u7528\u4E8E\u6620\u5C04\u89D2\u8272\u7684\u6620\u5C04\u5217\u8868\u3002
elytron.mapped-role-mapper.role-map.from=\u6620\u5C04\u89D2\u8272\u8981\u5339\u914D\u7684\u89D2\u8272\u3002
elytron.mapped-role-mapper.role-map.to=\u8981\u6620\u5C04\u5230\u7684\u89D2\u8272\u7684\u5217\u8868\u3002

elytron.regex-role-mapper=RoleMapper \u7684 RoleMapper \u5B9A\u4E49\uFF0C\u5B83\u57FA\u4E8E\u6B63\u5219\u8868\u8FBE\u5F0F\u6267\u884C\u6620\u5C04\uFF0C\u5E76\u4F7F\u7528\u66FF\u6362\u6A21\u5F0F\u66FF\u6362\u5339\u914D\u7684\u89D2\u8272\u3002
# Operations
elytron.regex-role-mapper.add=\u89D2\u8272\u6620\u5C04\u5668\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.regex-role-mapper.remove=\u89D2\u8272\u6620\u5C04\u5668\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.regex-role-mapper.pattern=\u7528\u4E8E\u5339\u914D\u7684\u6B63\u5219\u5B57\u7B26\u4E32\u3002\u6B63\u5219\u8868\u8FBE\u5F0F\u53EF\u4EE5\u5339\u914D\u7EC4\u3002\u5982\u679C\u7ED9\u5B9A\u6A21\u5F0F\u53EF\u5728\u7ED9\u5B9A\u89D2\u8272\u7684\u4EFB\u4F55\u5B50\u5B57\u7B26\u4E32\u4E2D\u627E\u5230\uFF0C\u5219\u89D2\u8272\u4E0E\u6A21\u5F0F\u5339\u914D\u3002
elytron.regex-role-mapper.replacement=\u66FF\u6362\u8981\u5728\u6620\u5C04\u5305\u542B\u6A21\u5F0F\u7684\u89D2\u8272\u65F6\u4F7F\u7528\u7684\u66FF\u6362\u3002\u53EF\u4F7F\u7528\u6A21\u5F0F\u5339\u914D\u7EC4\u3002
elytron.regex-role-mapper.keep-non-mapped=\u5F53\u4E3A 'true' \u65F6\uFF0C\u4E0E\u8BE5\u6A21\u5F0F\u4E0D\u5339\u914D\u7684\u89D2\u8272\u5C06\u88AB\u4FDD\u7559\u800C\u4E0D\u662F\u5220\u9664\u3002
elytron.regex-role-mapper.replace-all=\u5F53\u8BBE\u7F6E\u4E3A 'false' \u65F6\uFF0C\u53EA\u6709\u7B2C\u4E00\u6B21\u5339\u914D\u65F6\u4F1A\u5728\u89D2\u8272\u4E2D\u66FF\u6362\u3002\u5F53\u8BBE\u4E3A 'true' \u65F6\uFF0C\u6240\u6709\u5339\u914D\u7684\u90FD\u5C06\u88AB\u66FF\u6362\u3002

#####################
# Realm Definitions #
#####################

elytron.aggregate-realm=\u4E24\u4E2A\u9886\u57DF\u805A\u5408\u800C\u6210\u7684\u9886\u57DF\u5B9A\u4E49\uFF0C\u5176\u4E2D\u4E00\u4E2A\u7528\u4E8E\u9A8C\u8BC1\u6B65\u9AA4\uFF0C\u53E6\u4E00\u4E2A\u7528\u4E8E\u5728\u6388\u6743\u6B65\u9AA4\u52A0\u8F7D\u8EAB\u4EFD\u3002
# Operations
elytron.aggregate-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.aggregate-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.aggregate-realm.authentication-realm=\u5BF9\u4F9B\u9A8C\u8BC1\u6B65\u9AA4\u4F7F\u7528\u7684\u5B89\u5168\u9886\u57DF\u7684\u5F15\u7528\uFF08\u83B7\u53D6\u6216\u9A8C\u8BC1\u51ED\u8BC1\uFF09\u3002
elytron.aggregate-realm.authorization-realm=\u5BF9\u5728\u6388\u6743\u6B65\u9AA4\u7528\u6765\u52A0\u8F7D\u8EAB\u4EFD\u7684\u5B89\u5168\u9886\u57DF\u7684\u5F15\u7528\uFF08\u52A0\u8F7D\u8EAB\u4EFD\uFF09\u3002
elytron.aggregate-realm.authorization-realms=\u5BF9\u4E3A\u6388\u6743\u6B65\u9AA4\u53CA\u805A\u5408\u5C5E\u6027\u52A0\u8F7D\u8EAB\u4EFD\u65F6\u4F7F\u7528\u7684\u5B89\u5168\u57DF\u9886\u7684\u5F15\u7528\uFF08\u52A0\u8F7D\u8EAB\u4EFD\uFF09\u3002
elytron.aggregate-realm.principal-transformer=\u8981\u5728\u4E3A\u8EAB\u4EFD\u8BA4\u8BC1\u52A0\u8F7D\u8EAB\u4EFD\u53CA\u4E3A\u6388\u6743\u52A0\u8F7D\u8EAB\u4EFD\u4E4B\u95F4\u5E94\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u7684\u5F15\u7528

elytron.custom-modifiable-realm=\u914D\u7F6E\u4E3A\u53EF\u4FEE\u6539\u7684\u81EA\u5B9A\u4E49\u57DF\u9884\u8BA1\u5C06\u5B9E\u65BD ModifiableSecurityRealm \u63A5\u53E3\u3002\u901A\u8FC7\u5C06\u9886\u57DF\u914D\u7F6E\u4E3A\u53EF\u4FEE\u6539\uFF0C\u5C06\u80FD\u591F\u4F7F\u7528\u7BA1\u7406\u64CD\u4F5C\u6765\u64CD\u7EB5\u8BE5\u9886\u57DF\u3002
# Operations
elytron.custom-modifiable-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.custom-modifiable-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.custom-modifiable-realm.class-name=\u81EA\u5B9A\u4E49\u9886\u57DF\u7684\u5B9E\u73B0\u7684\u7C7B\u540D\u79F0\u3002
elytron.custom-modifiable-realm.configuration=\u81EA\u5B9A\u4E49\u9886\u57DF\u7684\u53EF\u9009\u952E/\u503C\u914D\u7F6E\u3002
elytron.custom-modifiable-realm.identity=\u53EF\u7531\u5B89\u5168\u9886\u57DF\u7BA1\u7406\u7684\u8EAB\u4EFD\u3002
elytron.custom-modifiable-realm.module=\u7528\u4E8E\u52A0\u8F7D\u81EA\u5B9A\u4E49\u9886\u57DF\u7684\u6A21\u5757\u3002

elytron.custom-realm=\u81EA\u5B9A\u4E49\u9886\u57DF\u5B9A\u4E49\u53EF\u4EE5\u5B9E\u65BD SecurityRealm \u63A5\u53E3\u6216 ModifiableSecurityRealm \u63A5\u53E3\u3002\u4E0D\u8BBA\u5B9E\u65BD\u4E86\u54EA\u4E2A\u63A5\u53E3\uFF0C\u90FD\u4E0D\u4F1A\u516C\u5F00\u7BA1\u7406\u64CD\u4F5C\u6765\u7BA1\u7406\u9886\u57DF\u3002\u4F46\u662F\uFF0C\u4F9D\u8D56\u9886\u57DF\u7684\u5176\u4ED6\u670D\u52A1\u4ECD\u80FD\u591F\u6267\u884C\u7C7B\u578B\u68C0\u67E5\u548C\u5F3A\u5236\u7C7B\u578B\u8F6C\u6362\uFF0C\u4EE5\u83B7\u5F97\u4FEE\u6539 API \u7684\u6743\u9650\u3002
# Operations
elytron.custom-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.custom-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.custom-realm.module=\u7528\u4E8E\u52A0\u8F7D\u81EA\u5B9A\u4E49\u9886\u57DF\u7684\u6A21\u5757\u3002
elytron.custom-realm.class-name=\u81EA\u5B9A\u4E49\u9886\u57DF\u7684\u5B9E\u73B0\u7684\u7C7B\u540D\u79F0\u3002
elytron.custom-realm.configuration=\u81EA\u5B9A\u4E49\u9886\u57DF\u7684\u53EF\u9009\u952E/\u503C\u914D\u7F6E\u3002


elytron.jdbc-realm=\u53D7\u4F7F\u7528 JDBC \u7684\u6570\u636E\u5E93\u652F\u6301\u7684\u5B89\u5168\u9886\u57DF\u5B9A\u4E49\u3002
# Operations
elytron.jdbc-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.jdbc-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002

# Authentication Query Complex Attribute
elytron.jdbc-realm.principal-query=\u7528\u4E8E\u6839\u636E\u7279\u5B9A\u7684\u5BC6\u94A5\u7C7B\u578B\u9A8C\u8BC1\u7528\u6237\u7684\u9A8C\u8BC1\u67E5\u8BE2\u3002
elytron.jdbc-realm.principal-query.sql=\u7528\u4E8E\u4E3A\u7279\u5B9A\u7528\u6237\u83B7\u53D6\u5BC6\u94A5\uFF08\u8868\u5217\u5F62\u5F0F\uFF09\u7684 SQL \u8BED\u53E5\uFF0C\u5E76\u6839\u636E\u5176\u7C7B\u578B\u6620\u5C04\u5B83\u4EEC\u3002
elytron.jdbc-realm.principal-query.data-source=\u7528\u6765\u8FDE\u63A5\u6570\u636E\u5E93\u7684\u6570\u636E\u6E90\u7684\u540D\u79F0\u3002
elytron.jdbc-realm.principal-query.algorithm=\u7279\u5B9A\u5BC6\u7801\u5BC6\u94A5\u6620\u5C04\u5668\u7684\u7B97\u6CD5\u3002
elytron.jdbc-realm.principal-query.password-index=\u9A8C\u8BC1\u67E5\u8BE2\u4E2D\u8868\u793A\u7528\u6237\u5BC6\u7801\u7684\u5217\u7D22\u5F15\u3002
elytron.jdbc-realm.principal-query.salt-index=\u9A8C\u8BC1\u67E5\u8BE2\u4E2D\u8868\u793A\u5BC6\u7801\u7684 salt \u7684\u5217\u7D22\u5F15\uFF08\u5982\u679C\u652F\u6301\uFF09\u3002
elytron.jdbc-realm.principal-query.iteration-count-index=\u9A8C\u8BC1\u67E5\u8BE2\u4E2D\u8868\u793A\u5BC6\u7801\u7684\u8FED\u4EE3\u8BA1\u6570\u7684\u5217\u7D22\u5F15\uFF08\u5982\u679C\u652F\u6301\uFF09\u3002
elytron.jdbc-realm.principal-query.hash-encoding=\u7528\u6237\u5BC6\u7801 hash \u7684\u7F16\u7801\u3002
elytron.jdbc-realm.principal-query.salt-encoding=password salt \u7684\u7F16\u7801\u3002
elytron.jdbc-realm.hash-charset=\u5728\u5C06\u5BC6\u7801\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3A\u5B57\u8282\u6570\u7EC4\u65F6\u4F7F\u7528\u7684\u5B57\u7B26\u96C6\u3002
# Password Mapper Complex Attributes
elytron.jdbc-realm.principal-query.clear-password-mapper=\u5C06\u4ECE SQL \u67E5\u8BE2\u8FD4\u56DE\u7684\u5217\u6620\u5C04\u81F3 Clear Password \u5BC6\u94A5\u7C7B\u578B\u7684\u5BC6\u94A5\u6620\u5C04\u5668\u3002
elytron.jdbc-realm.principal-query.bcrypt-mapper=\u5C06\u4ECE SQL \u67E5\u8BE2\u8FD4\u56DE\u7684\u5217\u6620\u5C04\u81F3 Bcrypt \u5BC6\u94A5\u7C7B\u578B\u7684\u5BC6\u94A5\u6620\u5C04\u5668\u3002
elytron.jdbc-realm.principal-query.salted-simple-digest-mapper=\u5C06\u4ECE SQL \u67E5\u8BE2\u8FD4\u56DE\u7684\u5217\u6620\u5C04\u81F3 Salted Simple Digest \u5BC6\u94A5\u7C7B\u578B\u7684\u5BC6\u94A5\u6620\u5C04\u5668\u3002
elytron.jdbc-realm.principal-query.simple-digest-mapper=\u5C06\u4ECE SQL \u67E5\u8BE2\u8FD4\u56DE\u7684\u5217\u6620\u5C04\u81F3 Simple Digest \u5BC6\u94A5\u7C7B\u578B\u7684\u5BC6\u94A5\u6620\u5C04\u5668\u3002
elytron.jdbc-realm.principal-query.scram-mapper=\u5C06\u4ECE SQL \u67E5\u8BE2\u8FD4\u56DE\u7684\u5217\u6620\u5C04\u81F3 Scram \u5BC6\u94A5\u7C7B\u578B\u7684\u5BC6\u94A5\u6620\u5C04\u5668\u3002
elytron.jdbc-realm.principal-query.modular-crypt-mapper=\u5C06\u4ECE SQL \u67E5\u8BE2\u8FD4\u56DE\u7684\u5217\u6620\u5C04\u81F3 Modular Crypt \u5BC6\u94A5\u7C7B\u578B\u7684\u5BC6\u94A5\u6620\u5C04\u5668\u3002
# Attribute Mapping Attributes
elytron.jdbc-realm.principal-query.attribute-mapping=\u4E3A\u6B64\u8D44\u6E90\u5B9A\u4E49\u7684\u5C5E\u6027\u6620\u5C04\u3002
elytron.jdbc-realm.principal-query.index=\u67E5\u8BE2\u4E2D\u8868\u793A\u6620\u5C04\u5C5E\u6027\u7684\u5217\u7D22\u5F15\u3002
elytron.jdbc-realm.principal-query.to=\u4ECE\u8FD4\u56DE\u81EA SQL \u67E5\u8BE2\u7684\u5217\u6620\u5C04\u7684\u8EAB\u4EFD\u5C5E\u6027\u7684\u540D\u79F0\u3002

elytron.identity-realm=\u5305\u542B\u5355\u4E2A\u9884\u5B9A\u4E49\u8EAB\u4EFD\u7684\u9886\u57DF\u7684\u9886\u57DF\u5B9A\u4E49\u3002
# Operations
elytron.identity-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.identity-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.identity-realm.identity=\u5B89\u5168\u9886\u57DF\u4E2D\u53EF\u7528\u7684\u8EAB\u4EFD\u7684\u540D\u79F0\u3002
elytron.identity-realm.attribute-name=\u4E0E\u6B64\u8EAB\u4EFD\u5173\u8054\u7684\u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.identity-realm.attribute-values=\u4E0E\u8EAB\u4EFD\u5C5E\u6027\u5173\u8054\u7684\u503C\u3002

elytron.key-store-realm=\u5BC6\u94A5\u5E93\u652F\u6301\u7684\u5B89\u5168\u9886\u57DF\u5B9A\u4E49\u3002
# Operations
elytron.key-store-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.key-store-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.key-store-realm.key-store=\u5BF9\u5E94\u8BE5\u7528\u6765\u652F\u6301\u8BE5\u5B89\u5168\u9886\u57DF\u7684 KeyStore \u7684\u5F15\u7528\u3002

elytron.properties-realm=\u53D7\u5C5E\u6027\u6587\u4EF6\u652F\u6301\u7684\u5B89\u5168\u9886\u57DF\u5B9A\u4E49\u3002
# Operations
elytron.properties-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.properties-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
elytron.properties-realm.load=\u4ECE\u6587\u4EF6\u7CFB\u7EDF\u4E2D\u91CD\u65B0\u52A0\u8F7D\u5C5E\u6027\u6587\u4EF6\u3002
# Attributes
elytron.properties-realm.users-properties=\u5305\u542B\u7528\u6237\u548C\u7528\u6237\u5BC6\u7801\u7684\u5C5E\u6027\u6587\u4EF6\u3002
elytron.properties-realm.users-properties.path=\u5305\u542B\u7528\u6237\u548C\u7528\u6237\u5BC6\u7801\u7684\u6587\u4EF6\u7684\u8DEF\u5F84\u3002\u6587\u4EF6\u5E94\u5305\u542B\u9886\u57DF\u540D\u79F0\u58F0\u660E\u3002
elytron.properties-realm.users-properties.relative-to=\u4E0E\u8BE5\u8DEF\u5F84\u76F8\u5BF9\u7684\u9884\u5B9A\u4E49\u8DEF\u5F84\u3002
elytron.properties-realm.users-properties.digest-realm-name=\u5982\u679C\u672A\u5728\u5C5E\u6027\u6587\u4EF6\u4E2D\u53D1\u73B0\u9886\u57DF\uFF0C\u4F9B\u6458\u8981\u5BC6\u7801\u4F7F\u7528\u7684\u9ED8\u8BA4\u9886\u57DF\u540D\u79F0\u3002
elytron.properties-realm.users-properties.plain-text=\u5C5E\u6027\u6587\u4EF6\u4E2D\u7684\u5BC6\u7801\u662F\u4EE5\u666E\u901A\u6587\u672C\u5B58\u50A8\uFF0C\u8FD8\u662F\u4EE5\u9884\u5148\u6563\u5217\u7684\u683C\u5F0F\u5B58\u50A8\uFF1F\uFF08\u9884\u5148\u6563\u5217\u683C\u5F0F\uFF1AHEX( MD5( username ':' realm ':' password ) ) )
elytron.properties-realm.groups-properties=\u5305\u542B\u7528\u6237\u548C\u7528\u6237\u7EC4\u7684\u5C5E\u6027\u6587\u4EF6\u3002
elytron.properties-realm.groups-properties.path=\u5305\u542B\u7528\u6237\u548C\u7528\u6237\u7EC4\u7684\u6587\u4EF6\u7684\u8DEF\u5F84\u3002
elytron.properties-realm.groups-properties.relative-to=\u4E0E\u8BE5\u8DEF\u5F84\u76F8\u5BF9\u7684\u9884\u5B9A\u4E49\u8DEF\u5F84\u3002
elytron.properties-realm.groups-attribute=\u8FD4\u56DE\u7684 AuthorizationIdentity \u4E2D\u7684\u5E94\u5305\u542B\u8EAB\u4EFD\u7684\u7EC4\u6210\u5458\u4FE1\u606F\u7684\u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.properties-realm.hash-encoding=\u6CA1\u6709\u4EE5\u7EAF\u6587\u672C\u5F62\u5F0F\u5B58\u50A8\u7684\u5BC6\u7801\u7684\u5B57\u7B26\u4E32\u683C\u5F0F\u3002
elytron.properties-realm.hash-charset=\u5728\u5C06\u5BC6\u7801\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3A\u5B57\u8282\u6570\u7EC4\u65F6\u4F7F\u7528\u7684\u5B57\u7B26\u96C6\u3002
# Runtime Attributes
elytron.properties-realm.synchronized=\u652F\u6301\u6B64\u9886\u57DF\u7684\u5C5E\u6027\u6587\u4EF6\u4E0A\u6B21\u52A0\u8F7D\u7684\u65F6\u95F4\u3002

elytron.ldap-realm=LDAP \u652F\u6301\u7684\u5B89\u5168\u9886\u57DF\u5B9A\u4E49\u3002
# Operations
elytron.ldap-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.ldap-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.ldap-realm.hash-encoding=\u6CA1\u6709\u4EE5\u7EAF\u6587\u672C\u5F62\u5F0F\u5B58\u50A8\u7684\u5BC6\u7801\u7684\u5B57\u7B26\u4E32\u683C\u5F0F\u3002
elytron.ldap-realm.hash-charset=\u5728\u5C06\u5BC6\u7801\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3A\u5B57\u8282\u6570\u7EC4\u65F6\u4F7F\u7528\u7684\u5B57\u7B26\u96C6\u3002
elytron.ldap-realm.dir-context=\u7528\u6765\u8FDE\u63A5 LDAP \u670D\u52A1\u5668\u7684\u914D\u7F6E\u3002
elytron.ldap-realm.dir-context.url=\u8FDE\u63A5 url\u3002
elytron.ldap-realm.dir-context.authentication-level=\u9A8C\u8BC1\u7EA7\u522B\u3002
elytron.ldap-realm.dir-context.principal=\u7528\u4E8E\u9A8C\u8BC1\u548C\u8FDE\u63A5 LDAP \u670D\u52A1\u5668\u7684\u4E3B\u4F53\u3002
elytron.ldap-realm.dir-context.credential=\u7528\u4E8E\u9A8C\u8BC1\u548C\u8FDE\u63A5 LDAP \u670D\u52A1\u5668\u7684\u51ED\u8BC1\u3002
elytron.ldap-realm.dir-context.enable-connection-pooling=\u6307\u793A\u662F\u5426\u5DF2\u542F\u7528\u8FDE\u63A5\u6C60\u3002
elytron.ldap-realm.identity-mapping=\u5B9A\u4E49\u4E3B\u4F53\u5982\u4F55\u6620\u5C04\u81F3\u5E95\u5C42 LDAP \u670D\u52A1\u5668\u4E2D\u76F8\u5E94\u6761\u76EE\u7684\u914D\u7F6E\u9009\u9879\u3002
elytron.ldap-realm.identity-mapping.rdn-identifier=\u7528\u4E8E\u4ECE LDAP \u6761\u76EE\u83B7\u53D6\u4E3B\u4F53\u540D\u79F0\u7684\u4E3B\u4F53\u7684 DN \u7684 RDN \u90E8\u5206\u3002\u521B\u5EFA\u65B0\u8EAB\u4EFD\u65F6\u4E5F\u4F1A\u4F7F\u7528\u3002
elytron.ldap-realm.identity-mapping.search-base-dn=\u7528\u4E8E\u641C\u7D22\u8EAB\u4EFD\u7684\u57FA\u7840 DN\u3002
elytron.ldap-realm.identity-mapping.use-recursive-search=\u6307\u793A\u8EAB\u4EFD\u641C\u7D22\u67E5\u8BE2\u662F\u5426\u662F\u9012\u5F52\u7684\u3002
elytron.ldap-realm.identity-mapping.attribute-mapping=\u4E3A\u6B64\u8D44\u6E90\u5B9A\u4E49\u7684\u5C5E\u6027\u6620\u5C04\u3002
elytron.ldap-realm.identity-mapping.attribute-mapping.attribute=\u7528\u4E8E\u5C06\u7279\u5B9A LDAP \u5C5E\u6027\u4F5C\u4E3A\u8EAB\u4EFD\u5C5E\u6027\u6620\u5C04\u7684\u914D\u7F6E\u3002
elytron.ldap-realm.identity-mapping.from=\u6620\u5C04\u5230\u8EAB\u4EFD\u5C5E\u6027\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002\u5982\u679C\u672A\u5B9A\u4E49\uFF0C\u5219\u4F7F\u7528\u6761\u76EE\u7684 DN\u3002
elytron.ldap-realm.identity-mapping.to=\u4ECE\u7279\u5B9A LDAP \u5C5E\u6027\u6620\u5C04\u7684\u8EAB\u4EFD\u5C5E\u6027\u7684\u540D\u79F0\u3002\u5982\u679C\u672A\u63D0\u4F9B\uFF0C\u5219\u5C5E\u6027\u7684\u540D\u79F0\u4E0E 'from' \u4E2D\u5B9A\u4E49\u7684\u76F8\u540C\u3002\u5982\u679C\u4E5F\u672A\u5B9A\u4E49 'from'\uFF0C\u5219\u4F7F\u7528\u503C 'dn'\u3002
elytron.ldap-realm.identity-mapping.reference=\u5305\u542B\u7528\u6765\u83B7\u53D6\u503C\u7684\u6761\u76EE DN \u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-realm.identity-mapping.filter=\u7528\u6765\u4E3A\u7279\u5B9A\u5C5E\u6027\u83B7\u53D6\u503C\u7684\u8FC7\u6EE4\u5668\u3002\u5C06\u4F7F\u7528\u7528\u6237\u540D\u66FF\u6362\u5B57\u7B26\u4E32 '{0}'\uFF0C\u4F7F\u7528\u7528\u6237\u8EAB\u4EFD DN \u66FF\u6362 '{1}' \u3002
elytron.ldap-realm.identity-mapping.filter-base-dn=\u5E94\u6267\u884C\u8FC7\u6EE4\u5668\u7684\u4E0A\u4E0B\u6587\u7684\u540D\u79F0\u3002
elytron.ldap-realm.identity-mapping.search-recursive=\u6307\u793A\u5C5E\u6027 LDAP \u641C\u7D22\u67E5\u8BE2\u662F\u5426\u9012\u5F52\u3002
elytron.ldap-realm.identity-mapping.role-recursion=\u8BBE\u7F6E\u9012\u5F52\u89D2\u8272\u5206\u914D - \u503C\u51B3\u5B9A\u9012\u5F52\u7684\u6700\u5927\u6DF1\u5EA6\u3002\uFF080 \u8868\u793A\u65E0\u9012\u5F52\uFF09
elytron.ldap-realm.identity-mapping.role-recursion-name=\u51B3\u5B9A\u89D2\u8272\u6761\u76EE\u7684 LDAP \u5C5E\u6027\uFF0C\u5728\u641C\u7D22\u89D2\u8272\u7684\u89D2\u8272\u65F6\uFF0C\u5B83\u5C06\u7528\u4E8E\u4EE3\u66FF\u8FC7\u6EE4\u5668\u540D\u79F0\u4E2D\u7684 '{0}'\u3002
elytron.ldap-realm.identity-mapping.extract-rdn=\u7528\u4F5C\u5C5E\u6027\u503C\u7684 RDN \u5BC6\u94A5\uFF08\u5982\u679C\u8BE5\u503C\u7684\u539F\u59CB\u5F62\u5F0F\u662F X.500 \u683C\u5F0F\uFF09\u3002
elytron.ldap-realm.identity-mapping.filter-name=\u6309\u7167\u540D\u79F0\u83B7\u53D6\u8EAB\u4EFD\u7684 LDAP \u8FC7\u6EE4\u5668\u3002\u82E5\u672A\u6307\u5B9A\uFF0C\u5219\u9ED8\u8BA4\u503C\u4E3A (rdn_identifier={0})\u3002\u5B57\u7B26\u4E32 '{0}\u2019 \u5C06\u66FF\u6362\u4E3A\u641C\u7D22\u5230\u7684\u8EAB\u4EFD\u540D\u79F0\uFF0C'rdn_identifier' \u5219\u662F\u5C5E\u6027 'rdn-identifier' \u7684\u503C\u3002
elytron.ldap-realm.identity-mapping.iterator-filter=\u7528\u4E8E\u5728\u9886\u57DF\u7684\u8EAB\u4EFD\u4E0A\u8FED\u4EE3\u7684 LDAP \u8FC7\u6EE4\u5668\u3002
elytron.ldap-realm.identity-mapping.new-identity-parent-dn=\u65B0\u521B\u5EFA\u8EAB\u4EFD\u7684\u7236\u7EA7\u7684 DN\u3002\u83B7\u53D6\u9886\u57DF\u7684\u53EF\u4FEE\u6539\u6027\u65F6\u9700\u8981\u3002
elytron.ldap-realm.identity-mapping.new-identity-attributes=\u65B0\u521B\u5EFA\u8EAB\u4EFD\u7684\u5C5E\u6027\u3002\u83B7\u53D6\u9886\u57DF\u7684\u53EF\u4FEE\u6539\u6027\u65F6\u5FC5\u987B\u7684\u3002
elytron.ldap-realm.identity-mapping.name=\u5C5E\u6027\u540D\u79F0\u3002
elytron.ldap-realm.identity-mapping.value=\u5C5E\u6027\u503C\u3002
elytron.ldap-realm.identity-mapping.credential-mapping=\u4E3A\u6B64\u8D44\u6E90\u5B9A\u4E49\u7684\u51ED\u8BC1\u6620\u5C04\u3002
elytron.ldap-realm.identity-mapping.credential-mapping.credential=\u7528\u4E8E\u5C06\u7279\u5B9A LDAP \u5C5E\u6027\u4F5C\u4E3A\u7528\u6237\u5BC6\u7801\u5C5E\u6027\u6620\u5C04\u7684\u914D\u7F6E\u3002
elytron.ldap-realm.identity-mapping.user-password-mapper=userPassword \u4E4B\u7C7B\u7684\u51ED\u8BC1\u5C5E\u6027\u7684\u51ED\u8BC1\u6620\u5C04\u3002
elytron.ldap-realm.identity-mapping.otp-credential-mapper=OTP \u51ED\u8BC1\u7684\u51ED\u8BC1\u6620\u5C04\u3002
elytron.ldap-realm.identity-mapping.algorithm-from=\u6620\u5C04\u5230 OTP \u51ED\u636E\u7B97\u6CD5\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-realm.identity-mapping.hash-from=\u6620\u5C04\u5230 Base64 \u7F16\u7801 OTP \u51ED\u636E\u54C8\u5E0C\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-realm.identity-mapping.seed-from=\u6620\u5C04\u5230 OTP \u51ED\u636E\u79CD\u5B50\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-realm.identity-mapping.sequence-from=\u6620\u5C04\u5230 OTP \u51ED\u636E\u5E8F\u53F7\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-realm.identity-mapping.writable=\u6307\u793A\u5BC6\u7801\u662F\u5426\u53EF\u4EE5\u66F4\u6539\u3002
elytron.ldap-realm.identity-mapping.verifiable=\u6307\u793A\u5BC6\u7801\u662F\u5426\u53EF\u4EE5\u7528\u4E8E\u9A8C\u8BC1\u7528\u6237\u3002
elytron.ldap-realm.identity-mapping.x509-credential-mapper=\u5141\u8BB8\u5C06 LDAP \u7528\u4F5C X509 \u51ED\u8BC1\u5B58\u50A8\u7684\u914D\u7F6E\u3002X509 \u51ED\u8BC1\u662F\u5141\u8BB8\u8BC6\u522B\u7528\u6237\u7684\u7528\u6237\u8BC1\u4E66\u6216\u4FE1\u606F\u3002\u81F3\u5C11\u5E94\u6307\u5B9A\u4E00\u4E2A *-from \u5C5E\u6027\u3002\u5426\u5219\u5C06\u5FFD\u7565\u6B64\u5B9A\u4E49\u3002\u5982\u679C\u6307\u5B9A\u4E86\u591A\u4E2A *-from \u5C5E\u6027\uFF0C\u5219\u7528\u6237\u8BC1\u4E66\u5FC5\u987B\u7B26\u5408\u6240\u6709\u5B9A\u4E49\u7684\u6807\u51C6\u3002
elytron.ldap-realm.identity-mapping.digest-from=\u7528\u4E8E\u6620\u5C04\u81F3\u7528\u6237\u8BC1\u4E66\u6458\u8981\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002\u5982\u679C\u672A\u5B9A\u4E49\uFF0C\u5219\u4E0D\u4F1A\u68C0\u67E5\u8BC1\u4E66\u6458\u8981\u3002
elytron.ldap-realm.identity-mapping.digest-algorithm=\u7528\u4E8E\u8BA1\u7B97\u7528\u6237\u8BC1\u4E66\u6458\u8981\u7684\u6458\u8981\u7B97\u6CD5\uFF08\u6563\u5217\u51FD\u6570\uFF09\u3002\u53EA\u6709\u5728\u5B9A\u4E49\u4E86 digest-from \u65F6\u624D\u4F1A\u4F7F\u7528\u3002
elytron.ldap-realm.identity-mapping.certificate-from=\u7528\u4E8E\u6620\u5C04\u81F3\u5DF2\u7F16\u7801\u7684\u7528\u6237\u8BC1\u4E66\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002\u5982\u679C\u672A\u5B9A\u4E49\uFF0C\u5219\u4E0D\u4F1A\u68C0\u67E5\u7F16\u7801\u8BC1\u4E66\u3002
elytron.ldap-realm.identity-mapping.serial-number-from=\u7528\u4E8E\u6620\u5C04\u81F3\u7528\u6237\u8BC1\u4E66\u7684\u5E8F\u5217\u53F7\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002\u5982\u679C\u672A\u5B9A\u4E49\uFF0C\u5219\u4E0D\u4F1A\u68C0\u67E5\u5E8F\u5217\u53F7\u3002
elytron.ldap-realm.identity-mapping.subject-dn-from=\u7528\u4E8E\u6620\u5C04\u81F3\u7528\u6237\u8BC1\u4E66\u7684\u6807\u9898 DN \u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002\u5982\u679C\u672A\u6307\u5B9A\uFF0C\u5219\u4E0D\u4F1A\u68C0\u67E5\u4E3B\u9898 DN\u3002

elytron.ldap-realm.direct-verification=\u9A8C\u8BC1\u5E10\u6237\u65F6\uFF0C\u6B64\u9886\u57DF\u662F\u5426\u652F\u6301\u901A\u8FC7\u76F4\u63A5\u8FDE\u63A5\u81F3 LDAP \u6765\u9A8C\u8BC1\u51ED\u8BC1\uFF1F
elytron.ldap-realm.allow-blank-password=\u6B64\u9886\u57DF\u662F\u5426\u652F\u6301\u7A7A\u767D\u7684\u5BC6\u7801\u76F4\u63A5\u9A8C\u8BC1\uFF1F\u5426\u5219\u5C06\u62D2\u7EDD\u7A7A\u767D\u5BC6\u7801\u5C1D\u8BD5\u3002
elytron.ldap-realm.identity=\u53EF\u7531\u5B89\u5168\u9886\u57DF\u7BA1\u7406\u7684\u8EAB\u4EFD\u3002

elytron.filesystem-realm=\u53D7\u6587\u4EF6\u7CFB\u7EDF\u652F\u6301\u7684\u7B80\u5355\u5B89\u5168\u9886\u57DF\u5B9A\u4E49\u3002
elytron.filesystem-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.filesystem-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
elytron.filesystem-realm.path=\u8BBF\u95EE\u5305\u542B\u9886\u57DF\u7684\u6587\u4EF6\u7684\u8DEF\u5F84\u3002
elytron.filesystem-realm.relative-to=\u4E0E\u8BE5\u8DEF\u5F84\u76F8\u5BF9\u7684\u9884\u5B9A\u4E49\u8DEF\u5F84\u3002
elytron.filesystem-realm.levels=\u8981\u5E94\u7528\u7684\u76EE\u5F55\u6563\u5217\u7EA7\u522B\u6570\u3002
elytron.filesystem-realm.encoded=\u8EAB\u4EFD\u540D\u79F0\u662F\u5426\u5E94\u8BE5\u5728\u6587\u4EF6\u540D\u79F0\u4E2D\u4EE5\u7F16\u7801(Base32)\u5F62\u5F0F\u5B58\u50A8\u3002\u5982\u679C\u914D\u7F6E\u4E86\u52A0\u5BC6\uFF0C\u5219\u5FFD\u7565\u6B64\u5C5E\u6027\u3002
elytron.filesystem-realm.identity=\u53EF\u7531\u5B89\u5168\u9886\u57DF\u7BA1\u7406\u7684\u8EAB\u4EFD\u3002
elytron.filesystem-realm.hash-encoding=\u6CA1\u6709\u4EE5\u7EAF\u6587\u672C\u5F62\u5F0F\u5B58\u50A8\u7684\u5BC6\u7801\u7684\u5B57\u7B26\u4E32\u683C\u5F0F\u3002
elytron.filesystem-realm.hash-charset=\u5728\u5C06\u5BC6\u7801\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3A\u5B57\u8282\u6570\u7EC4\u65F6\u4F7F\u7528\u7684\u5B57\u7B26\u96C6\u3002
elytron.filesystem-realm.credential-store=\u5BF9\u5305\u542B\u7528\u6765\u52A0\u5BC6\u548C\u89E3\u5BC6\u9886\u57DF\u7684 secret \u5BC6\u94A5\u7684\u51ED\u636E\u5B58\u50A8\u7684\u5F15\u7528\u3002
elytron.filesystem-realm.secret-key=\u7528\u6765\u52A0\u5BC6\u548C\u89E3\u5BC6\u9886\u57DF\u7684 secret \u5BC6\u94A5\u7684\u522B\u540D\u3002
elytron.filesystem-realm.key-store=\u5BF9\u5305\u542B\u5BC6\u94A5\u5BF9\u6765\u9A8C\u8BC1\u5B8C\u6574\u6027\u7684\u5BC6\u94A5\u5B58\u50A8\u7684\u5F15\u7528\u3002
elytron.filesystem-realm.key-store-alias=\u5728\u5BC6\u94A5\u5B58\u50A8\u4E2D\u8BC6\u522B PrivateKeyEntry \u6765\u9A8C\u8BC1\u5B8C\u6574\u6027\u7684\u522B\u540D\u3002
# Operations
elytron.filesystem-realm.update-key-pair=\u66F4\u65B0\u6587\u4EF6\u7CFB\u7EDF\u9886\u57DF\uFF0C\u4EE5\u4F7F\u7528\u65B0\u7684\u5BC6\u94A5\u5BF9\u6765\u9A8C\u8BC1\u5B8C\u6574\u6027\u3002
elytron.filesystem-realm.verify-integrity=\u9A8C\u8BC1\u6574\u4E2A\u6587\u4EF6\u7CFB\u7EDF\u9886\u57DF\u7684\u5B8C\u6574\u6027\u3002

elytron.token-realm=\u53EF\u4ECE\u5B89\u5168\u4EE4\u724C\u4E2D\u9A8C\u8BC1\u548C\u63D0\u53D6\u8EAB\u4EFD\u7684\u5B89\u5168\u9886\u57DF\u5B9A\u4E49\u3002
# Operations
elytron.token-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.token-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.token-realm.principal-claim=\u5E94\u5F53\u7528\u4E8E\u83B7\u53D6\u4E3B\u4F53\u540D\u79F0\u7684\u58F0\u660E\u7684\u540D\u79F0\u3002
# JWT Validator Complex Attribute
elytron.token-realm.jwt=\u4E0E\u57FA\u4E8E\u4EE4\u724C\u7684\u9886\u57DF\u8054\u5408\u4F7F\u7528\uFF0C\u7528\u6765\u6839\u636E JWT/JWS \u6807\u51C6\u5904\u7406\u5B89\u5168\u4EE4\u724C\u7684\u4EE4\u724C\u9A8C\u8BC1\u7A0B\u5E8F\u3002
elytron.token-realm.jwt.issuer=\u8868\u793A\u53D7\u6B64\u914D\u7F6E\u652F\u6301\u7684\u53D1\u884C\u65B9\u7684\u5B57\u7B26\u4E32\u5217\u8868\u3002\u9A8C\u8BC1\u671F\u95F4\uFF0CJWT \u4EE4\u724C\u5FC5\u987B\u5177\u5907\u5305\u542B\u6B64\u5904\u5B9A\u4E49\u7684\u5176\u4E2D\u4E00\u4E2A\u503C\u7684 'iss' \u58F0\u660E\u3002
elytron.token-realm.jwt.audience=\u8868\u793A\u53D7\u6B64\u914D\u7F6E\u652F\u6301\u7684\u53D7\u4F17\u7684\u5B57\u7B26\u4E32\u5217\u8868\u3002\u9A8C\u8BC1\u671F\u95F4\uFF0CJWT \u4EE4\u724C\u5FC5\u987B\u5177\u5907\u5305\u542B\u6B64\u5904\u5B9A\u4E49\u7684\u5176\u4E2D\u4E00\u4E2A\u503C\u7684 'aud' \u58F0\u660E\u3002
elytron.token-realm.jwt.public-key=PEM \u683C\u5F0F\u7684\u516C\u5171\u5BC6\u94A5\u3002\u9A8C\u8BC1\u671F\u95F4\uFF0C\u5982\u679C\u63D0\u4F9B\u4E86\u516C\u5171\u5BC6\u94A5\uFF0C\u5C06\u6839\u636E\u6B64\u5904\u63D0\u4F9B\u7684\u5BC6\u94A5\u9A8C\u8BC1\u7B7E\u540D\u3002
elytron.token-realm.jwt.key-store=\u5E94\u8BE5\u4ECE\u4E2D\u52A0\u8F7D\u5E26\u6709\u516C\u5171\u5BC6\u94A5\u7684\u8BC1\u4E66\u7684\u5BC6\u94A5\u5E93\u3002
elytron.token-realm.jwt.key-map=\u7528\u4E8E\u4EE4\u724C\u9A8C\u8BC1\u7684\u547D\u540D\u7684\u516C\u5171\u5BC6\u94A5\u7684\u6620\u5C04\u3002
elytron.token-realm.jwt.certificate=\u8981\u4ECE\u5BC6\u94A5\u5E93\u52A0\u8F7D\u7684\u5E26\u6709\u516C\u5171\u5BC6\u94A5\u7684\u8BC1\u4E66\u7684\u540D\u79F0\u3002
elytron.token-realm.jwt.client-ssl-context=\u7528\u4E8E\u4F7F\u7528 HTTPS \u63D0\u53D6 jku \u5BC6\u94A5\u7684 SSL \u4E0A\u4E0B\u6587\u3002
elytron.token-realm.jwt.host-name-verification-policy=\u5B9A\u4E49\u5728\u4F7F\u7528 HTTPS \u65F6\u5E94\u5982\u4F55\u9A8C\u8BC1\u4E3B\u673A\u540D\u79F0\u7684\u4E00\u9879\u7B56\u7565\u3002
# OAuth2 Introspection Validator Complex Attribute
elytron.token-realm.oauth2-introspection=\u4E0E\u57FA\u4E8E\u4EE4\u724C\u7684\u9886\u57DF\u8054\u5408\u4F7F\u7528\u7684\u4EE4\u724C\u9A8C\u8BC1\u7A0B\u5E8F\u5904\u7406 OAuth2 \u8BBF\u95EE\u4EE4\u724C\uFF0C\u5E76\u4F7F\u7528\u7B26\u5408 OAuth2 \u4EE4\u724C\u5185\u7701\u89C4\u8303 (RFC-7662) \u7684\u7AEF\u70B9\u6765\u9A8C\u8BC1\u5B83\u4EEC\u3002
elytron.token-realm.oauth2-introspection.client-id=OAuth2 \u6388\u6743\u670D\u52A1\u5668\u4E0A\u7684\u5BA2\u6237\u7AEF\u7684\u8BC6\u522B\u7B26\u3002
elytron.token-realm.oauth2-introspection.client-secret=\u5BA2\u6237\u7AEF\u7684\u5BC6\u94A5\u3002
elytron.token-realm.oauth2-introspection.introspection-url=\u4EE4\u724C\u5185\u7701\u7AEF\u70B9\u7684 URL\u3002
elytron.token-realm.oauth2-introspection.client-ssl-context=\u5185\u7701\u7AEF\u70B9\u4F7F\u7528 HTTPS \u65F6\u8981\u4F7F\u7528\u7684 SSL \u4E0A\u4E0B\u6587\u3002
elytron.token-realm.oauth2-introspection.host-name-verification-policy=\u5B9A\u4E49\u5728\u4F7F\u7528 HTTPS \u65F6\u5E94\u5982\u4F55\u9A8C\u8BC1\u4E3B\u673A\u540D\u79F0\u7684\u4E00\u9879\u7B56\u7565\u3002\u5141\u8BB8\u7684\u503C\uFF1A"ANY"\u3002

# Identity management descriptions
elytron.modifiable-security-realm.add-identity=\u5411\u5B89\u5168\u9886\u57DF\u6DFB\u52A0\u4E00\u4E2A\u8EAB\u4EFD\u3002
elytron.modifiable-security-realm.add-identity.identity=\u8EAB\u4EFD\u7684\u540D\u79F0\u3002
elytron.modifiable-security-realm.remove-identity=\u4ECE\u5B89\u5168\u9886\u57DF\u5220\u9664\u8EAB\u4EFD\u3002
elytron.modifiable-security-realm.remove-identity.identity=\u8EAB\u4EFD\u7684\u540D\u79F0\u3002
elytron.modifiable-security-realm.read-identity=\u4ECE\u5B89\u5168\u9886\u57DF\u8BFB\u53D6\u8EAB\u4EFD\uFF08\u5982\u679C\u5B58\u5728\uFF09\u3002
elytron.modifiable-security-realm.read-identity.identity=\u8EAB\u4EFD\u7684\u540D\u79F0\u3002
elytron.modifiable-security-realm.add-identity-attribute=\u5411\u73B0\u6709\u8EAB\u4EFD\u6DFB\u52A0\u5C5E\u6027\u3002
elytron.modifiable-security-realm.add-identity-attribute.identity=\u8EAB\u4EFD\u7684\u540D\u79F0\u3002
elytron.modifiable-security-realm.add-identity-attribute.name=\u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.modifiable-security-realm.add-identity-attribute.value=\u5C5E\u6027\u7684\u503C\u3002
elytron.modifiable-security-realm.remove-identity-attribute=\u5220\u9664\u73B0\u6709\u8EAB\u4EFD\u7684\u5C5E\u6027\u3002
elytron.modifiable-security-realm.remove-identity-attribute.identity=\u8EAB\u4EFD\u7684\u540D\u79F0\u3002
elytron.modifiable-security-realm.remove-identity-attribute.name=\u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.modifiable-security-realm.remove-identity-attribute.value=\u5C5E\u6027\u7684\u503C\u3002
elytron.modifiable-security-realm.set-password=\u5411\u73B0\u6709\u8EAB\u4EFD\u6DFB\u52A0\u5BC6\u7801\u3002
elytron.modifiable-security-realm.set-password.identity=\u8EAB\u4EFD\u7684\u540D\u79F0\u3002

elytron.modifiable-security-realm.bcrypt.algorithm=\u7528\u4E8E\u52A0\u5BC6\u5BC6\u7801\u7684\u7B97\u6CD5\u3002
elytron.modifiable-security-realm.bcrypt.iteration-count=\u8981\u5BF9\u5BC6\u7801\u5E94\u7528\u7684\u8FED\u4EE3\u8BA1\u6570\u6216\u6210\u672C\u3002
elytron.modifiable-security-realm.bcrypt.salt=\u8981\u5BF9\u5BC6\u7801\u5E94\u7528\u7684 salt\u3002
elytron.modifiable-security-realm.bcrypt.password=\u8981\u8BBE\u7F6E\u7684\u5B9E\u9645\u5BC6\u7801\u3002
elytron.modifiable-security-realm.set-password.bcrypt=\u4F7F\u7528 Bcrypt \u7B97\u6CD5\u7684\u5BC6\u7801\u3002

elytron.modifiable-security-realm.clear.password=\u8981\u8BBE\u7F6E\u7684\u5B9E\u9645\u5BC6\u7801\u3002
elytron.modifiable-security-realm.set-password.clear=\u660E\u6587\u5BC6\u7801\u3002

elytron.modifiable-security-realm.simple-digest.algorithm=\u7528\u4E8E\u52A0\u5BC6\u5BC6\u7801\u7684\u7B97\u6CD5\u3002
elytron.modifiable-security-realm.simple-digest.password=\u8981\u8BBE\u7F6E\u7684\u5B9E\u9645\u5BC6\u7801\u3002
elytron.modifiable-security-realm.set-password.simple-digest=\u7B80\u5355\u7684\u6458\u8981\u5BC6\u7801\u3002

elytron.modifiable-security-realm.salted-simple-digest.algorithm=\u7528\u4E8E\u52A0\u5BC6\u5BC6\u7801\u7684\u7B97\u6CD5\u3002
elytron.modifiable-security-realm.salted-simple-digest.salt=\u8981\u5BF9\u5BC6\u7801\u5E94\u7528\u7684 salt\u3002
elytron.modifiable-security-realm.salted-simple-digest.password=\u8981\u8BBE\u7F6E\u7684\u5B9E\u9645\u5BC6\u7801\u3002
elytron.modifiable-security-realm.set-password.salted-simple-digest=\u7B80\u5355\u7684 salt \u6458\u8981\u5BC6\u7801\u3002

elytron.modifiable-security-realm.digest.algorithm=\u7528\u4E8E\u52A0\u5BC6\u5BC6\u7801\u7684\u7B97\u6CD5\u3002
elytron.modifiable-security-realm.digest.realm=\u9886\u57DF\u3002
elytron.modifiable-security-realm.digest.password=\u8981\u8BBE\u7F6E\u7684\u5B9E\u9645\u5BC6\u7801\u3002
elytron.modifiable-security-realm.set-password.digest=\u6458\u8981\u5BC6\u7801\u3002

elytron.modifiable-security-realm.otp.algorithm=\u7528\u4E8E\u52A0\u5BC6\u5BC6\u7801\u7684\u7B97\u6CD5\u3002
elytron.modifiable-security-realm.otp.seed=\u7528\u4E8E\u751F\u6210\u6563\u5217\u7684\u79CD\u5B50\u3002
elytron.modifiable-security-realm.otp.sequence=\u7528\u4E8E\u751F\u6210\u6563\u5217\u7684\u5E8F\u53F7\u3002
elytron.modifiable-security-realm.otp.password=\u8981\u8BBE\u7F6E\u7684\u5B9E\u9645\u5BC6\u7801\u3002
elytron.modifiable-security-realm.set-password.otp=\u4F9B OTP SASL \u673A\u5236\u4F7F\u7528\u7684\u4E00\u6B21\u6027\u5BC6\u7801\u3002

elytron.modifiable-security-realm.scram-digest.algorithm=\u7528\u4E8E\u52A0\u5BC6\u5BC6\u7801\u7684\u7B97\u6CD5\u3002
elytron.modifiable-security-realm.scram-digest.iteration-count=\u8981\u5BF9\u5BC6\u7801\u5E94\u7528\u7684\u8FED\u4EE3\u8BA1\u6570\u6216\u6210\u672C\u3002
elytron.modifiable-security-realm.scram-digest.salt=\u8981\u5BF9\u5BC6\u7801\u5E94\u7528\u7684 salt\u3002
elytron.modifiable-security-realm.scram-digest.password=\u8981\u8BBE\u7F6E\u7684\u5B9E\u9645\u5BC6\u7801\u3002
elytron.modifiable-security-realm.set-password.scram-digest=\u4F7F\u7528 SCRAM \u6458\u8981\u7B97\u6CD5\u7684\u5BC6\u7801\u3002

elytron.caching-realm=\u5BF9\u53E6\u4E00\u4E2A\u5B89\u5168\u9886\u57DF\u542F\u7528\u7F13\u5B58\u7684\u9886\u57DF\u5B9A\u4E49\u3002\u7F13\u5B58\u7B56\u7565\u662F LRU (Least Recently Used)\uFF0C\u5176\u4E2D\uFF0C\u5F53\u8FBE\u5230\u6700\u5927\u6761\u76EE\u6570\u65F6\u4E22\u5F03\u6700\u5C0F\u8BBF\u95EE\u7684\u6761\u76EE\u3002
# Operations
elytron.caching-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.caching-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.caching-realm.realm=\u5BF9\u53EF\u7F13\u5B58\u7684\u5B89\u5168\u9886\u57DF\u7684\u5F15\u7528\u3002
elytron.caching-realm.maximum-entries=\u4FDD\u5B58\u5728\u7F13\u5B58\u4E2D\u7684\u6761\u76EE\u7684\u6700\u5927\u6570\u76EE\u3002
elytron.caching-realm.maximum-age=\u9879\u76EE\u53EF\u5728\u7F13\u5B58\u4E2D\u4FDD\u5B58\u7684\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09\u3002
elytron.caching-realm.clear-cache=\u4ECE\u7F13\u5B58\u4E2D\u79FB\u9664\u6240\u6709\u6761\u76EE\u3002

elytron.distributed-realm=\u5728\u591A\u4E2A\u9886\u57DF\u95F4\u5206\u5E03\u7684\u8BA4\u8BC1\u548C\u8BA4\u8BC1\u7684\u57DF\u5B9A\u4E49\u3002
# Operations
elytron.distributed-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.distributed-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.distributed-realm.realms=\u5BF9\u4E00\u4E2A\u6216\u591A\u4E2A\u5B89\u5168\u9886\u57DF\u8FDB\u884C\u9A8C\u8BC1\u548C\u6388\u6743\u7684\u5F15\u7528\u3002
elytron.distributed-realm.realms.realm=\u5F15\u7528\u7684\u9886\u57DF\u7684\u540D\u79F0\u3002
elytron.distributed-realm.ignore-unavailable-realms=\u5728\u8FBE\u5230\u4E0D\u53EF\u7528\u9886\u57DF\u540E\uFF0C\u662F\u5426\u8FD8\u5E94\u68C0\u67E5\u540E\u7EED\u9886\u57DF\u3002\u5982\u679C\u8BBE\u7F6E\u4E3A false \u6216\u672A\u8BBE\u7F6E\uFF0C\u5F53\u5230\u8FBE\u4E0D\u53EF\u7528\u7684\u9886\u57DF\u65F6\u4F1A\u629B\u51FA "org.wildfly.security.auth.server.RealmUnavailableException" \u5F02\u5E38\uFF0C\u641C\u7D22\u4F1A\u505C\u6B62\u3002\u9ED8\u8BA4\u503C\u662F false\u3002
elytron.distributed-realm.emit-events=\u662F\u5426\u5E94\u8BE5\u53D1\u51FA SecurityEvent \u8868\u793A\u9886\u57DF\u4E0D\u53EF\u7528\u7684\u60C5\u51B5\uFF0C\u53EA\u6709\u5728 ignore-unavailable-realms \u5C5E\u6027\u8BBE\u7F6E\u4E3A true \u65F6\u624D\u9002\u7528\u3002\u9ED8\u8BA4\u503C\u4E3A true\u3002

elytron.failover-realm=\u4E00\u4E2A\u5C01\u88C5\u4E24\u4E2A\u9886\u57DF\u7684\u9886\u57DF\u5B9A\u4E49\u3002\u4E00\u4E2A\u7528\u4E8E\u9ED8\u8BA4\u64CD\u4F5C\uFF0C\u53E6\u4E00\u4E2A\u7528\u4E8E\u5F53\u7B2C\u4E00\u4E2A\u4E0D\u53EF\u7528\u65F6\u5207\u6362\u4F7F\u7528\u3002
# Operations
elytron.failover-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.failover-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.failover-realm.delegate-realm=\u5BF9\u4F5C\u4E3A\u9ED8\u8BA4\u7684\u5B89\u5168\u9886\u57DF\u7684\u5F15\u7528\u3002
elytron.failover-realm.failover-realm=\u5728 delegate-realm \u4E0D\u53EF\u7528\u65F6\uFF0C\u5BF9\u8981\u4F7F\u7528\u7684\u5B89\u5168\u9886\u57DF\u7684\u5F15\u7528\u3002
elytron.failover-realm.emit-events=\u662F\u5426\u5E94\u8BE5\u53D1\u51FA\u8868\u793A delegate-realm unavailability \u7684 SecurityEvent\u3002

elytron.jaas-realm=JAAS \u5B89\u5168\u9886\u57DF\u5B9A\u4E49\u3002\u5B83\u4F7F\u7528\u767B\u5F55\u4E0A\u4E0B\u6587\u6765\u9A8C\u8BC1\u7528\u6237\u7684\u51ED\u636E\u3002
# Operations
elytron.jaas-realm.add=\u5B89\u5168\u9886\u57DF\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.jaas-realm.remove=\u5B89\u5168\u9886\u57DF\u7684\u5220\u9664\u64CD\u4F5C\u3002
elytron.jaas-realm.callback-handler=\u56DE\u8C03\u5904\u7406\u7A0B\u5E8F\u4E0E\u767B\u5F55\u4E0A\u4E0B\u6587\u642D\u914D\u4F7F\u7528\u3002\u53EF\u4EE5\u88AB\u6539\u4E3A\u4F7F\u7528\u5B89\u5168\u5C5E\u6027 "auth.login.defaultCallbackHandler" \u3002\u5982\u679C\u90FD\u672A\u5B9A\u4E49\uFF0C\u5219\u4F7F\u7528\u9886\u57DF\u7684\u9ED8\u8BA4\u56DE\u8C03\u5904\u7406\u7A0B\u5E8F\u3002
elytron.jaas-realm.path=JAAS \u767B\u5F55\u4E0A\u4E0B\u6587\u914D\u7F6E\u6587\u4EF6\u7684\u8DEF\u5F84\u3002\u60A8\u8FD8\u53EF\u4EE5\u4F7F\u7528 java \u7CFB\u7EDF\u5C5E\u6027 "java.security.auth.login.config" \u6216 java \u5B89\u5168\u5C5E\u6027 "login.config.url" \u6307\u5B9A\u914D\u7F6E\u7684\u4F4D\u7F6E\u3002
elytron.jaas-realm.entry=JAAS \u914D\u7F6E\u6587\u4EF6\u6761\u76EE\u540D\u79F0\u3002
elytron.jaas-realm.module=\u7528\u6765\u83B7\u53D6\u7C7B\u52A0\u8F7D\u5668\u4EE5\u52A0\u8F7D\u81EA\u5B9A\u4E49 LoginModules \u548C\u81EA\u5B9A\u4E49 CallbackHandler \u7684\u7684\u6A21\u5757\u3002\u5982\u679C\u90FD\u672A\u5B9A\u4E49\uFF0C\u5219\u5C06\u4F7F\u7528\u52A0\u8F7D\u8D44\u6E90\u7684\u7C7B\u52A0\u8F7D\u7A0B\u5E8F\u3002
elytron.jaas-realm.relative-to=JAAS \u914D\u7F6E\u6587\u4EF6\u7684\u57FA\u672C\u8DEF\u5F84\u3002

#########################
# SASL Server Factories #
#########################

elytron.aggregate-sasl-server-factory=\u4E00\u4E2A sasl \u670D\u52A1\u5668\u5DE5\u5382\u5B9A\u4E49\uFF0C\u5176\u4E2D sasl \u670D\u52A1\u5668\u5DE5\u5382\u662F\u5176\u4ED6 sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u805A\u5408\u3002
# Operations
elytron.aggregate-sasl-server-factory.add=sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.aggregate-sasl-server-factory.remove=sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.aggregate-sasl-server-factory.sasl-server-factories=\u8981\u805A\u5408\u7684\u5F15\u7528 sasl \u670D\u52A1\u5668\u5DE5\u5382\u3002
# Runtime Attributes
elytron.aggregate-sasl-server-factory.available-mechanisms=\u5E94\u7528\u6240\u6709\u8FC7\u6EE4\u4E4B\u540E\u6B64\u5DE5\u5382\u63D0\u4F9B\u7684\u53EF\u7528 SASL \u673A\u5236\u3002

elytron.configurable-sasl-server-factory=\u5C01\u88C5\u53E6\u4E00\u4E2A SaslServerFactory \u4E14\u5E94\u7528\u6307\u5B9A\u7684\u914D\u7F6E\u548C\u8FC7\u6EE4\u7684 SaslServerFactory \u5B9A\u4E49\u3002
# Operations
elytron.configurable-sasl-server-factory.add=sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.configurable-sasl-server-factory.remove=sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.configurable-sasl-server-factory.sasl-server-factory=\u8981\u5C01\u88C5\u7684 sasl \u670D\u52A1\u5668\u5DE5\u5382\u3002
elytron.configurable-sasl-server-factory.protocol=\u521B\u5EFA\u673A\u5236\u65F6\u5E94\u4F20\u9012\u81F3\u5DE5\u5382\u7684\u534F\u8BAE\u3002
elytron.configurable-sasl-server-factory.server-name=\u521B\u5EFA\u673A\u5236\u65F6\u5E94\u4F20\u9012\u81F3\u5DE5\u5382\u7684\u670D\u52A1\u5668\u540D\u79F0\u3002
elytron.configurable-sasl-server-factory.properties=\u8981\u4F20\u9012\u81F3 sasl \u670D\u52A1\u5668\u5DE5\u5382\u8C03\u7528\u7684\u81EA\u5B9A\u4E49\u5C5E\u6027\u3002
elytron.configurable-sasl-server-factory.filters=\u4F7F\u7528 'or' \u5408\u5E76\u7ED3\u679C\uFF0C\u4F9D\u6B21\u8BC4\u4F30\u7684\u8FC7\u6EE4\u5668\u5217\u8868\u3002
elytron.configurable-sasl-server-factory.filters.predefined-filter=\u7528\u4E8E\u8FC7\u6EE4\u673A\u5236\u540D\u79F0\u7684\u9884\u5B9A\u4E49\u8FC7\u6EE4\u5668\u3002
elytron.configurable-sasl-server-factory.filters.pattern-filter=\u57FA\u4E8E\u5E38\u89C4\u8868\u8FBE\u5F0F\u7684\u673A\u5236\u540D\u79F0\u8FC7\u6EE4\u5668\u3002
elytron.configurable-sasl-server-factory.filters.enabling=\u8BE5\u8FC7\u6EE4\u5668\u662F\u542F\u7528\u8FD8\u662F\u7981\u7528\u5339\u914D\u7684\u540D\u79F0\u3002
# Runtime Attributes
elytron.configurable-sasl-server-factory.available-mechanisms=\u5E94\u7528\u6240\u6709\u8FC7\u6EE4\u4E4B\u540E\u6B64\u5DE5\u5382\u63D0\u4F9B\u7684\u53EF\u7528 SASL \u673A\u5236\u3002

elytron.mechanism-provider-filtering-sasl-server-factory=\u5C01\u88C5\u53E6\u4E00\u4E2A SaslServerFactory \u4E14\u6839\u636E\u673A\u5236\u540D\u79F0\u53CA\u63D0\u4F9B\u7A0B\u5E8F\u540D\u79F0\u548C\u7248\u672C\u6765\u542F\u7528\u673A\u5236\u8FC7\u6EE4\u529F\u80FD\u7684 SaslServerFactory \u5B9A\u4E49\u3002\u4EFB\u4F55\u901A\u8FC7\u5DE5\u5382\u52A0\u8F7D\u4F46\u672A\u4F7F\u7528\u63D0\u4F9B\u7A0B\u5E8F\u5B9A\u4F4D\u7684\u673A\u5236\u90FD\u4E0D\u4F1A\u6309\u7167\u6B64\u5B9A\u4E49\u8FC7\u6EE4\u3002
# Operations
elytron.mechanism-provider-filtering-sasl-server-factory.add=sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.mechanism-provider-filtering-sasl-server-factory.remove=sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.mechanism-provider-filtering-sasl-server-factory.sasl-server-factory=\u5BF9\u8981\u88AB\u6B64\u5B9A\u4E49\u5C01\u88C5\u7684 sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u5F15\u7528\u3002
elytron.mechanism-provider-filtering-sasl-server-factory.enabling=\u8BBE\u7F6E\u4E3A 'true' \u65F6\uFF0C\u4E0D\u4F1A\u542F\u7528\u4EFB\u4F55\u7531\u63D0\u4F9B\u7A0B\u5E8F\u52A0\u8F7D\u7684\u673A\u5236\uFF0C\u9664\u975E\u4E0E\u5176\u4E2D\u4E00\u4E2A\u8FC7\u6EE4\u5668\u5339\u914D\uFF0C\u8BBE\u7F6E\u4E3A 'false' \u65F6\uFF0C\u7ED3\u679C\u6B63\u597D\u76F8\u53CD\u3002
elytron.mechanism-provider-filtering-sasl-server-factory.filters=\u6BD4\u8F83\u6765\u81EA\u63D0\u4F9B\u7A0B\u5E8F\u7684\u673A\u5236\u65F6\u8981\u5E94\u7528\u7684\u8FC7\u6EE4\u5668\uFF0C\u5F53\u6240\u6709\u6307\u5B9A\u503C\u4E0E\u673A\u5236/\u63D0\u4F9B\u7A0B\u5E8F\u5BF9\u5339\u914D\u65F6\uFF0C\u4E00\u4E2A\u8FC7\u6EE4\u5668\u5339\u914D\u3002
elytron.mechanism-provider-filtering-sasl-server-factory.filters.mechanism-name=\u6B64\u914D\u7F6E\u53EA\u5728\u4F7F\u7528\u6307\u5B9A\u540D\u79F0\u7684\u673A\u5236\u65F6\u9002\u7528\u3002\u5982\u679C\u6B64\u5C5E\u6027\u88AB\u5FFD\u7565\uFF0C\u5219\u6B64\u914D\u7F6E\u53EF\u4E0E\u4EFB\u4F55\u673A\u5236\u540D\u79F0\u5339\u914D\u3002
elytron.mechanism-provider-filtering-sasl-server-factory.filters.provider-name=\u8981\u4E0E\u4E4B\u5339\u914D\u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u540D\u79F0\u3002
elytron.mechanism-provider-filtering-sasl-server-factory.filters.provider-version=\u8981\u4E0E\u63D0\u4F9B\u7A0B\u5E8F\u62A5\u544A\u7684\u7248\u672C\u6BD4\u8F83\u7684\u7248\u672C\u3002
elytron.mechanism-provider-filtering-sasl-server-factory.filters.version-comparison=\u8BBE\u7F6E\u4E3A 'less-than' \u65F6\uFF0C\u63D0\u4F9B\u7A0B\u5E8F\u4F1A\u4E0E\u8FC7\u6EE4\u5668\u5339\u914D\uFF0C\u53EA\u8981\u63D0\u4F9B\u7A0B\u5E8F\u7684\u7248\u672C\u4F4E\u4E8E\u6B64\u5904\u6307\u5B9A\u7684\u7248\u672C\u3002\u8BBE\u7F6E\u4E3A 'greater-than' \u65F6\uFF0C\u7ED3\u679C\u6B63\u597D\u76F8\u53CD\u3002\u5982\u679C\u8FC7\u6EE4\u5668\u4E2D\u672A\u6307\u5B9A provider-version\uFF0C\u5219\u6CA1\u6709\u4EFB\u4F55\u6548\u679C\u3002
# Runtime Attributes
elytron.mechanism-provider-filtering-sasl-server-factory.available-mechanisms=\u5E94\u7528\u6240\u6709\u8FC7\u6EE4\u4E4B\u540E\u6B64\u5DE5\u5382\u63D0\u4F9B\u7684\u53EF\u7528 SASL \u673A\u5236\u3002

elytron.provider-sasl-server-factory=\u4E00\u4E2A sasl \u670D\u52A1\u5668\u5DE5\u5382\u5B9A\u4E49\uFF0C\u5176\u4E2D sasl \u670D\u52A1\u5668\u5DE5\u5382\u662F\u6765\u81EA Provider[] \u7684\u5DE5\u5382\u805A\u5408
# Operations
elytron.provider-sasl-server-factory.add=sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.provider-sasl-server-factory.remove=sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.provider-sasl-server-factory.providers=\u7528\u4E8E\u5B9A\u4F4D\u5DE5\u5382\u7684\u63D0\u4F9B\u7A0B\u5E8F\uFF0C\u5982\u679C\u6CA1\u6709\u6307\u5B9A\uFF0C\u5219\u4F7F\u7528\u5168\u5C40\u6CE8\u518C\u7684\u63D0\u4F9B\u7A0B\u5E8F\u5217\u8868\u3002
# Runtime Attributes
elytron.provider-sasl-server-factory.available-mechanisms=\u5E94\u7528\u6240\u6709\u8FC7\u6EE4\u4E4B\u540E\u6B64\u5DE5\u5382\u63D0\u4F9B\u7684\u53EF\u7528 SASL \u673A\u5236\u3002

elytron.service-loader-sasl-server-factory=\u4E00\u4E2A sasl \u670D\u52A1\u5668\u5DE5\u5382\u5B9A\u4E49\uFF0C\u5176\u4E2D sasl \u670D\u52A1\u5668\u5DE5\u5382\u662F\u4F7F\u7528 ServiceLoader \u786E\u5B9A\u7684\u5DE5\u5382\u805A\u5408
# Operations
elytron.service-loader-sasl-server-factory.add=sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.service-loader-sasl-server-factory.remove=sasl \u670D\u52A1\u5668\u5DE5\u5382\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.service-loader-sasl-server-factory.module=\u7528\u4E8E\u83B7\u53D6\u52A0\u8F7D\u5DE5\u5382\u7684\u7C7B\u52A0\u8F7D\u5668\u7684\u6A21\u5757\uFF0C\u5982\u679C\u6CA1\u6709\u6307\u5B9A\uFF0C\u5219\u4F7F\u7528\u52A0\u8F7D\u8D44\u6E90\u7684\u7C7B\u52A0\u8F7D\u5668\u4EE3\u66FF\u3002
# Runtime Attributes
elytron.service-loader-sasl-server-factory.available-mechanisms=\u5E94\u7528\u6240\u6709\u8FC7\u6EE4\u4E4B\u540E\u6B64\u5DE5\u5382\u63D0\u4F9B\u7684\u53EF\u7528 SASL \u673A\u5236\u3002


##################
# TLS / KeyStore #
##################

elytron.key-store=KeyStore \u5B9A\u4E49\u3002
# Operations
elytron.key-store.add=\u6DFB\u52A0\u4E00\u4E2A\u65B0 KeyStore \u5B9A\u4E49\u3002
elytron.key-store.remove=\u5220\u9664 KeyStore \u5B9A\u4E49\u3002
elytron.key-store.load=\u52A0\u8F7D KeyStore\uFF0C\u5982\u679C KeyStore \u53D7\u6587\u4EF6\u652F\u6301\uFF0C\u6B64\u64CD\u4F5C\u4F1A\u5BFC\u81F4\u91CD\u65B0\u8BFB\u53D6\u6587\u4EF6\u7684\u5185\u5BB9\u3002
elytron.key-store.store=\u5C06 KeyStore \u4FDD\u5B58\u81F3\u6587\u4EF6\uFF0C\u6B64\u64CD\u4F5C\u4F1A\u56E0\u67D0\u4E9B KeyStore \u5B9E\u4F8B\u4E0D\u53D7\u6587\u4EF6\u652F\u6301\u800C\u5931\u8D25\u3002\u5982\u679C\u8BE5\u6587\u4EF6\u4E0D\u5B58\u5728\u4E14\u6CA1\u6709\u6309\u7167\u8981\u6C42\u6807\u8BB0\uFF0C\u5219\u5C06\u4F1A\u8FDB\u884C\u521B\u5EFA\u3002
# Configuration Attributes
elytron.key-store.type=\u521B\u5EFA\u65B0 KeyStore \u5B9E\u4F8B\u65F6\u4F7F\u7528\u7684 KeyStore \u7C7B\u578B\u3002
elytron.key-store.provider-name=\u7528\u4E8E\u52A0\u8F7D KeyStore \u7684\u63D0\u4F9B\u7A0B\u5E8F\u540D\u79F0\uFF0C\u7981\u6B62\u641C\u7D22\u80FD\u591F\u521B\u5EFA\u6307\u5B9A\u7C7B\u578B\u7684 KeyStore \u7684\u9996\u4E2A\u63D0\u4F9B\u7A0B\u5E8F\u3002
elytron.key-store.credential-reference=\u5BF9\u4EE5\u6307\u5B9A\u522B\u540D\u6216\u660E\u6587\u5BC6\u7801\u5B58\u50A8\u5728 CredentialStore \u4E2D\u7684\u51ED\u8BC1\u7684\u5F15\u7528\u3002
elytron.key-store.credential-reference.store=\u5B58\u6709\u51ED\u8BC1\u522B\u540D\u7684\u51ED\u8BC1\u5B58\u50A8\u7684\u540D\u79F0\u3002
elytron.key-store.credential-reference.alias=\u8868\u793A\u5E93\u4E2D\u5B58\u50A8\u7684\u5BC6\u94A5\u6216\u51ED\u8BC1\u7684\u522B\u540D\u3002
elytron.key-store.credential-reference.type=\u6B64\u5F15\u7528\u8868\u793A\u7684\u51ED\u8BC1\u7684\u7C7B\u578B\u3002
elytron.key-store.credential-reference.clear-text=\u4F7F\u7528\u660E\u6587\u6307\u5B9A\u7684\u5BC6\u94A5\u3002\u68C0\u67E5\u51ED\u8BC1\u5B58\u50A8\u5411\u670D\u52A1\u63D0\u4F9B\u51ED\u8BC1/\u5BC6\u94A5\u7684\u65B9\u5F0F\u3002
elytron.key-store.relative-to=\u6B64\u5E93\u76F8\u5BF9\u7684\u57FA\u7840\u8DEF\u5F84\u3002
elytron.key-store.path=KeyStore \u6587\u4EF6\u7684\u8DEF\u5F84\u3002
elytron.key-store.required=\u662F\u5426\u8981\u6C42\u6587\u4EF6\u5728 KeyStore \u670D\u52A1\u542F\u52A8\u65F6\u5373\u5DF2\u5B58\u5728\uFF1F
elytron.key-store.providers=\u5BF9\u5E94\u8BE5\u7528\u4E8E\u83B7\u53D6\u8981\u641C\u7D22\u7684\u63D0\u4F9B\u7A0B\u5E8F\u5B9E\u4F8B\u5217\u8868\u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u5F15\u7528\uFF0C\u5982\u679C\u672A\u6307\u5B9A\uFF0C\u5219\u4F1A\u4F7F\u7528\u5168\u5C40\u63D0\u4F9B\u7A0B\u5E8F\u5217\u8868\u6765\u4EE3\u66FF\u3002
elytron.key-store.alias-filter=\u9002\u7528\u4E8E\u4ECE KeyStore \u8FD4\u56DE\u7684\u522B\u540D\u7684\u8FC7\u6EE4\u5668\uFF0C\u53EF\u4EE5\u662F\u7528\u9017\u53F7\u9694\u5F00\u7684\u8981\u8FD4\u56DE\u7684\u522B\u540D\u5217\u8868\uFF0C\u4E5F\u53EF\u4EE5\u662F\u4EE5\u4E0B\u683C\u5F0F\u4E4B\u4E00\uFF1AALL:-alias1:-alias2\u3001NONE:+alias1:+alias2
# Runtime Attributes
elytron.key-store.state=\u5728\u8FD0\u884C\u65F6\u8868\u793A\u8BE5 KeyStore \u7684\u5E95\u5C42\u670D\u52A1\u7684\u72B6\u6001\uFF0C\u5982\u679C\u662F\u9664 UP \u4EE5\u5916\u7684\u4EFB\u4F55\u5185\u5BB9\uFF0C\u5219\u8FD0\u884C\u65F6\u64CD\u4F5C\u5C06\u4E0D\u53EF\u7528\u3002
elytron.key-store.synchronized=\u4E0A\u6B21\u52A0\u8F7D\u6216\u4FDD\u5B58\u8BE5 KeyStore \u7684\u65F6\u95F4\u3002\u8BF7\u6CE8\u610F\uFF0CKeyStore \u5728\u5E94\u7528\u670D\u52A1\u5668\u5185\u52A0\u8F7D\u4E4B\u540E\uFF0C\u67D0\u4E9B\u63D0\u4F9B\u7A0B\u5E8F\u53EF\u80FD\u4F1A\u7EE7\u7EED\u5E94\u7528\u66F4\u65B0\u3002
elytron.key-store.modified=\u6307\u793A\u81EA\u4ECE\u4E0A\u6B21\u52A0\u8F7D\u6216\u5B58\u50A8\u4E4B\u540E\uFF0CKeyStore \u7684\u5185\u5B58\u4E2D\u8868\u793A\u662F\u5426\u53D1\u751F\u6539\u53D8\u3002\u8BF7\u6CE8\u610F\uFF1A\u67D0\u4E9B\u63D0\u4F9B\u7A0B\u5E8F\u53EF\u80FD\u6CA1\u6709\u8FDB\u4E00\u6B65\u7684\u52A0\u8F7D\u6216\u5B58\u50A8\u8C03\u7528\uFF0C\u800C\u662F\u7ACB\u5373\u66F4\u65B0\u3002
elytron.key-store.loaded-provider=\u4F9B\u8BE5 KeyStore \u4F7F\u7528\u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u4FE1\u606F\u3002
elytron.key-store.loaded-provider.name=\u7528\u4E8E\u52A0\u8F7D KeyStore \u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u540D\u79F0\u3002
elytron.key-store.loaded-provider.info=\u7528\u4E8E\u52A0\u8F7D KeyStore \u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u4FE1\u606F\u5B57\u7B26\u4E32\u3002
elytron.key-store.loaded-provider.version=\u7528\u4E8E\u52A0\u8F7D KeyStore \u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u7248\u672C\u3002
elytron.key-store.size=KeyStore \u4E2D\u7684\u6761\u76EE\u6570\u91CF\u3002

elytron.key-store.alias=KeyStore \u4E2D\u7684\u5355\u4E2A\u522B\u540D\u3002
elytron.key-store.alias.remove=\u7ACB\u5373\u4ECE KeyStore \u5220\u9664\u522B\u540D\uFF0C\u6B64\u64CD\u4F5C\u662F\u5426\u6210\u529F\u5C06\u7531\u652F\u6301\u5220\u9664\u7684\u5E95\u5C42 KeyStore \u63D0\u4F9B\u7A0B\u5E8F\u51B3\u5B9A\u3002
elytron.key-store.alias.creation-date=\u6B64\u522B\u540D\u8868\u793A\u7684\u6761\u76EE\u7684\u521B\u5EFA\u65E5\u671F\u3002
elytron.key-store.alias.entry-type=\u6B64\u522B\u540D\u7684\u6761\u76EE\u7684\u7C7B\u578B\u3002\u8BF7\u6CE8\u610F\uFF1A\u672A\u8BC6\u522B\u7684\u7C7B\u578B\u5C06\u88AB\u62A5\u544A\u4E3A 'Other'\u3002

elytron.key-store.alias.certificate=\u4E0E\u522B\u540D\u5173\u8054\u7684\u8BC1\u4E66\uFF08\u8BF7\u6CE8\u610F\uFF1A\u5982\u679C\u522B\u540D\u5177\u5907\u8BC1\u4E66\u94FE\uFF0C\u5219\u5C06\u59CB\u7EC8\u662F\u672A\u5B9A\u4E49\uFF09\u3002
elytron.key-store.alias.certificate-chain=\u4E0E\u522B\u540D\u5173\u8054\u7684\u8BC1\u4E66\u94FE\u3002

elytron.key-store.alias.certificate.type=\u8BC1\u4E66\u7684\u7C7B\u578B\u3002
elytron.key-store.alias.certificate.algorithm=\u516C\u5171\u5BC6\u94A5\u7684\u7B97\u6CD5\u3002
elytron.key-store.alias.certificate.format=\u516C\u5171\u5BC6\u94A5\u7684\u683C\u5F0F\u3002
elytron.key-store.alias.certificate.public-key=\u4E0E\u8BC1\u4E66\u5173\u8054\u7684\u7F16\u7801\u7684\u516C\u5171\u5BC6\u94A5\u3002
elytron.key-store.alias.certificate.sha-1-digest=\u8BC1\u4E66\u7684 SHA-1 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.key-store.alias.certificate.sha-256-digest=\u8BC1\u4E66\u7684 SHA-256 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.key-store.alias.certificate.encoded=\u8BC1\u4E66\u7684\u7F16\u7801\u503C\u3002
elytron.key-store.alias.certificate.subject=\u8BC1\u4E66\u4E2D\u7684\u4E3B\u9898\u3002
elytron.key-store.alias.certificate.issuer=\u8BC1\u4E66\u7684\u53D1\u884C\u8005\u3002
elytron.key-store.alias.certificate.not-before=\u8BC1\u4E66\u6709\u6548\u7684\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.key-store.alias.certificate.not-after=\u8BC1\u4E66\u7684\u8FC7\u671F\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.key-store.alias.certificate.serial-number=\u8BC1\u4E66\u7684\u5E8F\u5217\u53F7\u3002
elytron.key-store.alias.certificate.signature-algorithm=\u7528\u4E8E\u751F\u6210\u8BC1\u4E66\u7B7E\u540D\u7684\u7B97\u6CD5\u3002
elytron.key-store.alias.certificate.signature=\u8BC1\u4E66\u7684\u7B7E\u540D\u3002
elytron.key-store.alias.certificate.version=\u8BC1\u4E66\u7248\u672C\u3002

elytron.key-store.alias.certificate-chain.type=\u8BC1\u4E66\u7684\u7C7B\u578B\u3002
elytron.key-store.alias.certificate-chain.algorithm=\u516C\u5171\u5BC6\u94A5\u7684\u7B97\u6CD5\u3002
elytron.key-store.alias.certificate-chain.format=\u516C\u5171\u5BC6\u94A5\u7684\u683C\u5F0F\u3002
elytron.key-store.alias.certificate-chain.public-key=\u4E0E\u8BC1\u4E66\u5173\u8054\u7684\u7F16\u7801\u7684\u516C\u5171\u5BC6\u94A5\u3002
elytron.key-store.alias.certificate-chain.sha-1-digest=\u8BC1\u4E66\u7684 SHA-1 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.key-store.alias.certificate-chain.sha-256-digest=\u8BC1\u4E66\u7684 SHA-256 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.key-store.alias.certificate-chain.encoded=\u8BC1\u4E66\u7684\u7F16\u7801\u503C\u3002
elytron.key-store.alias.certificate-chain.subject=\u8BC1\u4E66\u4E2D\u7684\u4E3B\u9898\u3002
elytron.key-store.alias.certificate-chain.issuer=\u8BC1\u4E66\u7684\u53D1\u884C\u8005\u3002
elytron.key-store.alias.certificate-chain.not-before=\u8BC1\u4E66\u6709\u6548\u7684\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.key-store.alias.certificate-chain.not-after=\u8BC1\u4E66\u7684\u8FC7\u671F\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.key-store.alias.certificate-chain.serial-number=\u8BC1\u4E66\u7684\u5E8F\u5217\u53F7\u3002
elytron.key-store.alias.certificate-chain.signature-algorithm=\u7528\u4E8E\u751F\u6210\u8BC1\u4E66\u7B7E\u540D\u7684\u7B97\u6CD5\u3002
elytron.key-store.alias.certificate-chain.signature=\u8BC1\u4E66\u7684\u7B7E\u540D\u3002
elytron.key-store.alias.certificate-chain.version=\u8BC1\u4E66\u7248\u672C\u3002

elytron.modifiable-key-store.read-alias=\u4ECE KeyStore \u8BFB\u53D6\u522B\u540D\u3002
elytron.modifiable-key-store.read-alias.alias=\u8981\u8BFB\u53D6\u7684 KeyStore \u9879\u76EE\u7684\u522B\u540D\u3002
elytron.modifiable-key-store.read-alias.verbose=\u662F\u5426\u5728\u8F93\u51FA\u4E2D\u5305\u542B\u516C\u94A5\u548C\u8BC1\u4E66\u7684\u7F16\u7801\u5F62\u5F0F\u3002\u9ED8\u8BA4\u503C\u4E3A true\u3002
elytron.modifiable-key-store.read-aliases=\u4ECE KeyStore \u8BFB\u53D6\u522B\u540D\u3002
elytron.modifiable-key-store.read-aliases.recursive=\u5728 KeyStore \u4E2D\u5305\u542B\u5173\u4E8E\u6BCF\u4E2A\u522B\u540D\u7684\u4FE1\u606F\u3002\u9ED8\u8BA4\u503C\u4E3A false\u3002
elytron.modifiable-key-store.read-aliases.verbose=\u662F\u5426\u5728\u8F93\u51FA\u4E2D\u5305\u542B\u516C\u94A5\u548C\u8BC1\u4E66\u7684\u7F16\u7801\u5F62\u5F0F\u3002\u9ED8\u8BA4\u503C\u4E3A true\u3002
elytron.modifiable-key-store.remove-alias=\u4ECE KeyStore \u5220\u9664\u522B\u540D\u3002
elytron.modifiable-key-store.remove-alias.alias=\u8981\u5220\u9664\u7684 KeyStore \u9879\u76EE\u7684\u522B\u540D\u3002

elytron.modifiable-key-store.generate-key-pair=\u751F\u6210\u5BC6\u94A5\u5BF9\uFF0C\u5E76\u5C06\u5F97\u5230\u7684\u516C\u94A5\u5C01\u88C5\u5728\u81EA\u7B7E\u540D X.509 \u8BC1\u4E66\u4E2D\u3002\u751F\u6210\u7684\u79C1\u94A5\u548C\u81EA\u7B7E\u540D\u8BC1\u4E66\u5C06\u6DFB\u52A0\u5230 KeyStore \u4E2D\u3002
elytron.modifiable-key-store.generate-key-pair.alias=\u65B0 KeyStore \u6761\u76EE\u7684\u522B\u540D\u3002
elytron.modifiable-key-store.generate-key-pair.algorithm=\u7528\u4E8E\u751F\u6210\u5BC6\u94A5\u5BF9\u7684\u7B97\u6CD5\u3002
elytron.modifiable-key-store.generate-key-pair.key-size=\u751F\u6210\u5BC6\u94A5\u5BF9\u65F6\u4F7F\u7528\u7684\u5BC6\u94A5\u5927\u5C0F\u3002
elytron.modifiable-key-store.generate-key-pair.signature-algorithm=\u5BF9\u81EA\u7B7E\u540D\u8BC1\u4E66\u8FDB\u884C\u7B7E\u540D\u65F6\u4F7F\u7528\u7684\u7B7E\u540D\u7B97\u6CD5\u540D\u79F0\u3002
elytron.modifiable-key-store.generate-key-pair.distinguished-name=\u540C\u65F6\u7528\u4F5C subject DN \u548C issuer DN \u7684 DN\u3002
elytron.modifiable-key-store.generate-key-pair.not-before=\u81EA\u7B7E\u540D\u8BC1\u4E66\u6709\u6548\u7684\u8D77\u59CB\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.modifiable-key-store.generate-key-pair.validity=\u81EA\u7B7E\u540D\u8BC1\u4E66\u5E94\u89C6\u4E3A\u6709\u6548\u7684\u5929\u6570\u3002\u9ED8\u8BA4\u503C\u4E3A 90 \u5929\u3002
elytron.modifiable-key-store.generate-key-pair.extensions=\u8981\u5305\u62EC\u5728\u81EA\u7B7E\u540D\u8BC1\u4E66\u4E2D\u7684 X.509 \u8BC1\u4E66\u6269\u5C55\u7684\u5217\u8868\u3002
elytron.modifiable-key-store.generate-key-pair.credential-reference=\u7528\u4E8E\u4FDD\u62A4\u751F\u6210\u7684\u79C1\u94A5\u7684\u51ED\u636E\u5F15\u7528\u3002

elytron.modifiable-key-store.generate-certificate-signing-request=\u751F\u6210 PKCS #10 \u8BC1\u4E66\u7B7E\u540D\u8BF7\u6C42\u3002
elytron.modifiable-key-store.generate-certificate-signing-request.alias=\u6807\u8BC6\u7528\u4E8E\u751F\u6210\u8BC1\u4E66\u7B7E\u540D\u8BF7\u6C42\u7684 PrivateKeyEntry \u7684\u522B\u540D\u3002
elytron.modifiable-key-store.generate-certificate-signing-request.signature-algorithm=\u5BF9\u8BC1\u4E66\u7B7E\u540D\u8BF7\u6C42\u8FDB\u884C\u7B7E\u540D\u65F6\u4F7F\u7528\u7684\u7B7E\u540D\u7B97\u6CD5\u540D\u79F0\u3002
elytron.modifiable-key-store.generate-certificate-signing-request.distinguished-name=\u8981\u5728\u8BC1\u4E66\u7B7E\u540D\u8BF7\u6C42\u4E2D\u4F7F\u7528\u7684 DN\u3002\u5982\u679C\u672A\u6307\u5B9A\uFF0C\u5C06\u4F7F\u7528\u8BC1\u4E66\u4E2D\u7684 DN\u3002
elytron.modifiable-key-store.generate-certificate-signing-request.extensions=\u8981\u5305\u62EC\u5728\u8BC1\u4E66\u7B7E\u540D\u8BF7\u6C42\u4E2D\u7684 X.509 \u8BC1\u4E66\u6269\u5C55\u7684\u5217\u8868\u3002
elytron.modifiable-key-store.generate-certificate-signing-request.credential-reference=\u7528\u4E8E\u8BBF\u95EE\u79C1\u94A5\u7684\u51ED\u636E\u5F15\u7528\u3002
elytron.modifiable-key-store.generate-certificate-signing-request.path=\u5E94\u5B58\u50A8\u8BC1\u4E66\u7B7E\u540D\u8BF7\u6C42\u7684\u6587\u4EF6\u7684\u8DEF\u5F84\u3002
elytron.modifiable-key-store.generate-certificate-signing-request.relative-to=\u8BC1\u4E66\u7B7E\u540D\u8BF7\u6C42\u6587\u4EF6\u7684\u57FA\u7840\u8DEF\u5F84\u3002

elytron.modifiable-key-store.extensions.name=X.509 \u8BC1\u4E66\u6269\u5C55\u7684\u540D\u79F0\u3002
elytron.modifiable-key-store.extensions.critical=\u6307\u5B9A X.509 \u8BC1\u4E66\u6269\u5C55\u662F\u5426\u5E94\u6807\u8BB0\u4E3A\u91CD\u8981\u3002\u9ED8\u8BA4\u503C\u4E3A false\u3002
elytron.modifiable-key-store.extensions.value=X.509 \u8BC1\u4E66\u6269\u5C55\u7684\u503C\u3002
elytron.modifiable-key-store.credential-reference.store=\u5B58\u6709\u51ED\u636E\u522B\u540D\u7684\u51ED\u636E\u5B58\u50A8\u7684\u540D\u79F0\u3002
elytron.modifiable-key-store.credential-reference.alias=\u8868\u793A\u5E93\u4E2D\u5B58\u50A8\u7684\u5BC6\u94A5\u6216\u51ED\u636E\u7684\u522B\u540D\u3002
elytron.modifiable-key-store.credential-reference.type=\u6B64\u5F15\u7528\u8868\u793A\u7684\u51ED\u8BC1\u7684\u7C7B\u578B\u3002
elytron.modifiable-key-store.credential-reference.clear-text=\u7528\u660E\u6587\u6307\u5B9A\u7684\u5BC6\u94A5\u3002

elytron.modifiable-key-store.import-certificate=\u5C06\u6587\u4EF6\u4E2D\u7684\u8BC1\u4E66\u6216\u8BC1\u4E66\u94FE\u5BFC\u5165 KeyStore \u6761\u76EE\u3002
elytron.modifiable-key-store.import-certificate.alias=\u8BC6\u522B KeyStore \u6761\u76EE\u7684\u522B\u540D\u3002
elytron.modifiable-key-store.import-certificate.credential-reference=\u7528\u4E8E\u8BBF\u95EE\u79C1\u94A5\u7684\u51ED\u636E\u5F15\u7528\u3002
elytron.modifiable-key-store.import-certificate.path=\u5305\u542B\u4EE5\u4E8C\u8FDB\u5236\u7F16\u7801\u683C\u5F0F\u6216\u53EF\u6253\u5370\u7F16\u7801\u683C\u5F0F\u5BFC\u5165\u7684\u8BC1\u4E66\u6216\u8BC1\u4E66\u94FE\u7684\u6587\u4EF6\u7684\u8DEF\u5F84\u3002
elytron.modifiable-key-store.import-certificate.relative-to=\u8BC1\u4E66\u6587\u4EF6\u7684\u57FA\u7840\u8DEF\u5F84\u3002
elytron.modifiable-key-store.import-certificate.trust-cacerts=\u6307\u5B9A\u521B\u5EFA/\u9A8C\u8BC1\u8BC1\u4E66\u94FE\u65F6\uFF0C\u662F\u5426\u5E94\u5305\u62EC cacerts \u6587\u4EF6\u4E2D\u7684\u8BC1\u4E66\u3002
elytron.modifiable-key-store.import-certificate.validate=\u6307\u5B9A\u5728\u5BFC\u5165\u8BC1\u4E66\u94FE\u65F6\u662F\u5426\u9A8C\u8BC1\u6700\u4E0A\u9762\u7684\u8BC1\u4E66\u662F\u5426\u5B9E\u9645\u53EF\u4FE1\u6216\u5BFC\u5165\u8BC1\u4E66\u65F6\u662F\u5426\u9A8C\u8BC1\u6B64\u8BC1\u4E66\u662F\u5426\u5B9E\u9645\u53EF\u4FE1\u3002\u9ED8\u8BA4\u503C\u4E3A true\u3002\u8BBE\u7F6E\u4E3A true \u65F6\u9A8C\u8BC1\u5931\u8D25\uFF0C\u5219\u8BC1\u4E66\u6216\u8BC1\u4E66\u94FE\u4E0D\u4F1A\u5BFC\u5165\u5230 KeyStore \u6761\u76EE\u3002

elytron.modifiable-key-store.export-certificate=\u5C06\u8BC1\u4E66\u4ECE KeyStore \u6761\u76EE\u5BFC\u51FA\u5230\u6587\u4EF6\u4E2D\u3002
elytron.modifiable-key-store.export-certificate.alias=\u8BC6\u522B KeyStore \u6761\u76EE\u7684\u522B\u540D\u3002
elytron.modifiable-key-store.export-certificate.path=\u5C06\u8BC1\u4E66\u5BFC\u51FA\u5230\u7684\u6587\u4EF6\u7684\u8DEF\u5F84\u3002
elytron.modifiable-key-store.export-certificate.relative-to=\u5BFC\u51FA\u6587\u4EF6\u7684\u57FA\u7840\u8DEF\u5F84\u3002
elytron.modifiable-key-store.export-certificate.pem=\u6307\u5B9A\u662F\u5426\u4EE5\u53EF\u6253\u5370\u7F16\u7801\u683C\u5F0F\u5BFC\u51FA\u8BC1\u4E66\u3002\u5982\u679C\u672A\u6307\u5B9A\uFF0C\u5C06\u4EE5\u4E8C\u8FDB\u5236\u7F16\u7801\u683C\u5F0F\u5BFC\u51FA\u8BC1\u4E66\u3002

elytron.modifiable-key-store.change-alias=\u5C06\u73B0\u6709 KeyStore \u6761\u76EE\u79FB\u81F3\u65B0\u522B\u540D\u3002
elytron.modifiable-key-store.change-alias.alias=\u6807\u8BC6\u8981\u79FB\u52A8\u7684\u73B0\u6709 KeyStore \u6761\u76EE\u7684\u522B\u540D\u3002
elytron.modifiable-key-store.change-alias.new-alias=\u8981\u4F7F\u7528\u7684\u65B0\u522B\u540D\u3002
elytron.modifiable-key-store.change-alias.credential-reference=\u5C06\u7528\u4E8E\u8BBF\u95EE\u73B0\u6709 KeyStore \u6761\u76EE\u7684\u51ED\u636E\u5F15\u7528\uFF08\u5982\u679C\u9700\u8981\uFF09\u3002

elytron.modifiable-key-store.obtain-certificate=\u4ECE\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u83B7\u53D6\u7B7E\u540D\u7684\u8BC1\u4E66\uFF0C\u5E76\u5C06\u5176\u5B58\u50A8\u5728 KeyStore \u6761\u76EE\u4E2D\u3002
elytron.modifiable-key-store.obtain-certificate.alias=KeyStore \u6761\u76EE\u7684\u522B\u540D\u3002
elytron.modifiable-key-store.obtain-certificate.domain-names=\u4E3A\u5176\u8BF7\u6C42\u8BC1\u4E66\u7684 DNS \u540D\u79F0\u7684\u5217\u8868\u3002
elytron.modifiable-key-store.obtain-certificate.certificate-authority-account=\u5E94\u7528\u4E8E\u83B7\u53D6\u8BC1\u4E66\u7684\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u4FE1\u606F\u7684\u5F15\u7528\u3002
elytron.modifiable-key-store.obtain-certificate.agree-to-terms-of-service=\u8868\u793A\u7528\u6237\u662F\u5426\u540C\u610F\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u7684\u670D\u52A1\u6761\u6B3E\u3002
elytron.modifiable-key-store.obtain-certificate.staging=\u8868\u793A\u662F\u5426\u5E94\u4F7F\u7528\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u7684\u5206\u9636\u6BB5 URL\u3002\u8FD9\u4EC5\u5E94\u51FA\u4E8E\u6D4B\u8BD5\u76EE\u7684\u8BBE\u7F6E\u4E3A true\u3002\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u7EDD\u4E0D\u80FD\u8BBE\u7F6E\u4E3A true\u3002
elytron.modifiable-key-store.obtain-certificate.algorithm=\u7528\u4E8E\u751F\u6210\u5BC6\u94A5\u5BF9\u7684\u7B97\u6CD5\u3002\u9ED8\u8BA4\u503C\u4E3A RSA\u3002
elytron.modifiable-key-store.obtain-certificate.key-size=\u751F\u6210\u5BC6\u94A5\u5BF9\u65F6\u4F7F\u7528\u7684\u5BC6\u94A5\u5927\u5C0F\u3002\u9ED8\u8BA4\u503C\u4E3A 2048\u3002
elytron.modifiable-key-store.obtain-certificate.credential-reference=\u7528\u4E8E\u4FDD\u62A4\u751F\u6210\u7684\u79C1\u94A5\u7684\u51ED\u636E\u5F15\u7528\u3002

elytron.modifiable-key-store.revoke-certificate=\u64A4\u9500\u7B7E\u540D\u7684\u8BC1\u4E66\u3002
elytron.modifiable-key-store.revoke-certificate.alias=\u6807\u8BC6\u5305\u542B\u8981\u64A4\u9500\u7684\u8BC1\u4E66\u7684 KeyStore \u6761\u76EE\u7684\u522B\u540D\u3002
elytron.modifiable-key-store.revoke-certificate.reason=\u64A4\u9500\u539F\u56E0\u3002
elytron.modifiable-key-store.revoke-certificate.certificate-authority-account=\u5E94\u7528\u4E8E\u64A4\u9500\u8BC1\u4E66\u7684\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u4FE1\u606F\u7684\u5F15\u7528\u3002
elytron.modifiable-key-store.revoke-certificate.staging=\u8868\u793A\u662F\u5426\u5E94\u4F7F\u7528\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u7684\u5206\u9636\u6BB5 URL\u3002\u8FD9\u4EC5\u5E94\u51FA\u4E8E\u6D4B\u8BD5\u76EE\u7684\u8BBE\u7F6E\u4E3A true\u3002\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u7EDD\u4E0D\u80FD\u8BBE\u7F6E\u4E3A true\u3002

elytron.modifiable-key-store.should-renew-certificate=\u68C0\u67E5\u7B7E\u540D\u7684\u8BC1\u4E66\u662F\u5426\u5230\u671F\u9700\u8981\u7EED\u8BA2\u3002
elytron.modifiable-key-store.should-renew-certificate.alias=\u6807\u8BC6\u5305\u542B\u8981\u68C0\u67E5\u7684\u8BC1\u4E66\u7684 KeyStore \u6761\u76EE\u7684\u522B\u540D\u3002
elytron.modifiable-key-store.should-renew-certificate.expiration=\u8981\u68C0\u67E5\u7684\u5230\u671F\u5929\u6570\u3002

elytron.ldap-key-store=\u4E00\u4E2A LdapKeyStore \u5B9A\u4E49\u3002
elytron.ldap-key-store.add=\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684 LDAP KeyStore\u3002
elytron.ldap-key-store.remove=\u5220\u9664 LDAP KeyStore\u3002
elytron.ldap-key-store.size=\u4EE5\u9879\u76EE\u548C\u522B\u540D\u6570\u91CF\u8868\u793A\u7684 LDAP KeyStore \u7684\u5927\u5C0F\u3002
elytron.ldap-key-store.state=\u5728\u8FD0\u884C\u65F6\u8868\u793A\u8BE5 KeyStore \u7684\u5E95\u5C42\u670D\u52A1\u7684\u72B6\u6001\uFF0C\u5982\u679C\u662F\u9664 UP \u4EE5\u5916\u7684\u4EFB\u4F55\u5185\u5BB9\uFF0C\u5219\u8FD0\u884C\u65F6\u64CD\u4F5C\u5C06\u4E0D\u53EF\u7528\u3002

elytron.ldap-key-store.dir-context=\u5C06\u8981\u7528\u6765\u548C LDAP \u670D\u52A1\u5668\u901A\u4FE1\u7684 DirContext \u7684\u540D\u79F0\u3002
elytron.ldap-key-store.search-path=\u80FD\u591F\u4ECE\u4E2D\u641C\u7D22\u5230 KeyStore \u9879\u76EE\u7684 LDAP \u7684\u8DEF\u5F84\u3002
elytron.ldap-key-store.search-recursive=LDAP \u641C\u7D22\u662F\u5426\u5E94\u8BE5\u4E3A\u9012\u5F52\u5F0F\u7684\u3002
elytron.ldap-key-store.search-time-limit=\u4ECE LDAP \u83B7\u53D6 keystore \u9879\u76EE\u7684\u65F6\u9650\u3002

elytron.ldap-key-store.filter-alias=\u6309\u7167\u522B\u540D\u83B7\u53D6 KeyStore \u9879\u76EE\u7684 LDAP \u8FC7\u6EE4\u5668\u3002\u82E5\u672A\u6307\u5B9A\uFF0C\u5219\u9ED8\u8BA4\u503C\u4E3A (alias_attribute={0})\u3002\u5B57\u7B26\u4E32 '{0}\u2019 \u5C06\u66FF\u6362\u4E3A\u641C\u7D22\u5230\u7684\u522B\u540D\uFF0C'alias_attribute' \u503C\u5219\u662F\u5C5E\u6027 'alias-attribute' \u7684\u503C\u3002
elytron.ldap-key-store.filter-certificate=\u6309\u7167\u8BC1\u4E66\u83B7\u53D6 KeyStore \u9879\u76EE\u7684 LDAP \u8FC7\u6EE4\u5668\u3002\u82E5\u672A\u6307\u5B9A\uFF0C\u5219\u9ED8\u8BA4\u503C\u4E3A (certificate_attribute={0})\u3002\u5B57\u7B26\u4E32 '{0}\u2019 \u5C06\u66FF\u6362\u4E3A\u641C\u7D22\u5230\u7684\u5DF2\u7F16\u7801\u8BC1\u4E66\uFF0C'certificate_attribute' \u5219\u662F\u5C5E\u6027 'certificate-attribute' \u7684\u503C\u3002
elytron.ldap-key-store.filter-iterate=\u7528\u4E8E\u5728 KeyStore \u7684\u6240\u6709\u9879\u76EE\u4E0A\u8FED\u4EE3\u7684 LDAP \u8FC7\u6EE4\u5668\u3002\u82E5\u672A\u6307\u5B9A\uFF0C\u5219\u9ED8\u8BA4\u503C\u4E3A (alias_attribute=*)\u3002'alias_attribute' \u5C06\u662F\u5C5E\u6027 'alias-attribute' \u7684\u503C\u3002

elytron.ldap-key-store.new-item-template=\u7528\u4E8E\u521B\u5EFA\u9879\u76EE\u7684\u914D\u7F6E\u3002\u5B9A\u4E49\u65B0\u521B\u5EFA\u7684 keystore \u9879\u76EE\u7684 LDAP \u6761\u76EE\u7684\u6837\u5F0F\u3002
elytron.ldap-key-store.new-item-template.new-item-path=\u7528\u6765\u5B58\u50A8\u65B0\u521B\u5EFA\u7684 KeyStore \u9879\u76EE\u7684 LDAP \u7684\u8DEF\u5F84 \u3002
elytron.ldap-key-store.new-item-template.new-item-rdn=\u5C06\u5728\u65B0\u521B\u5EFA\u9879\u76EE\u7684 RDN \u4E2D\u4F7F\u7528\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-key-store.new-item-template.new-item-attributes=\u5C06\u4E3A\u65B0\u521B\u5EFA\u7684\u9879\u76EE\u8BBE\u7F6E\u7684 LDAP \u5C5E\u6027\u3002
elytron.ldap-key-store.new-item-template.name=LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-key-store.new-item-template.value=LDAP \u5C5E\u6027\u7684\u503C\u3002

elytron.ldap-key-store.alias-attribute=\u5C06\u7528\u4E8E\u5B58\u50A8\u9879\u76EE\u522B\u540D\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-key-store.certificate-attribute=\u5C06\u7528\u4E8E\u5B58\u50A8\u8BC1\u4E66\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-key-store.certificate-type=\u8BC1\u4E66\u7684\u7C7B\u578B\u3002
elytron.ldap-key-store.certificate-chain-attribute=\u5C06\u7528\u4E8E\u5B58\u50A8\u8BC1\u4E66\u94FE\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-key-store.certificate-chain-type=\u8BC1\u4E66\u94FE\u4E2D\u7684\u8BC1\u4E66\u7C7B\u578B\u3002
elytron.ldap-key-store.certificate-chain-encoding=\u8BC1\u4E66\u94FE\u7684\u7F16\u7801\u3002
elytron.ldap-key-store.key-attribute=\u5C06\u7528\u4E8E\u5B58\u50A8\u5BC6\u94A5\u7684 LDAP \u5C5E\u6027\u7684\u540D\u79F0\u3002
elytron.ldap-key-store.key-type=\u5BC6\u94A5\u9488\u5BF9 LDAP \u5C5E\u6027\u8FDB\u884C\u5E8F\u5217\u5316\u65F6\u6240\u7528\u7684 KeyStore \u7C7B\u578B\u3002

elytron.ldap-key-store.alias=KeyStore \u4E2D\u7684\u5355\u4E2A\u522B\u540D\u3002
elytron.ldap-key-store.alias.remove=\u7ACB\u5373\u4ECE KeyStore \u5220\u9664\u522B\u540D\uFF0C\u6B64\u64CD\u4F5C\u662F\u5426\u6210\u529F\u5C06\u7531\u652F\u6301\u5220\u9664\u7684\u5E95\u5C42 KeyStore \u63D0\u4F9B\u7A0B\u5E8F\u51B3\u5B9A\u3002
elytron.ldap-key-store.alias.creation-date=\u6B64\u522B\u540D\u8868\u793A\u7684\u6761\u76EE\u7684\u521B\u5EFA\u65E5\u671F\u3002
elytron.ldap-key-store.alias.entry-type=\u6B64\u522B\u540D\u7684\u6761\u76EE\u7684\u7C7B\u578B\u3002\u8BF7\u6CE8\u610F\uFF1A\u672A\u8BC6\u522B\u7684\u7C7B\u578B\u5C06\u88AB\u62A5\u544A\u4E3A 'Other'\u3002

elytron.ldap-key-store.alias.certificate=\u4E0E\u522B\u540D\u5173\u8054\u7684\u8BC1\u4E66\uFF08\u8BF7\u6CE8\u610F\uFF1A\u5982\u679C\u522B\u540D\u5177\u5907\u8BC1\u4E66\u94FE\uFF0C\u5219\u5C06\u59CB\u7EC8\u662F\u672A\u5B9A\u4E49\uFF09\u3002
elytron.ldap-key-store.alias.certificate-chain=\u4E0E\u522B\u540D\u5173\u8054\u7684\u8BC1\u4E66\u94FE\u3002

elytron.ldap-key-store.alias.certificate.type=\u8BC1\u4E66\u7684\u7C7B\u578B\u3002
elytron.ldap-key-store.alias.certificate.algorithm=\u516C\u5171\u5BC6\u94A5\u7684\u7B97\u6CD5\u3002
elytron.ldap-key-store.alias.certificate.format=\u516C\u5171\u5BC6\u94A5\u7684\u683C\u5F0F\u3002
elytron.ldap-key-store.alias.certificate.public-key=\u4E0E\u8BC1\u4E66\u5173\u8054\u7684\u7F16\u7801\u7684\u516C\u5171\u5BC6\u94A5\u3002
elytron.ldap-key-store.alias.certificate.sha-1-digest=\u8BC1\u4E66\u7684 SHA-1 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.ldap-key-store.alias.certificate.sha-256-digest=\u8BC1\u4E66\u7684 SHA-256 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.ldap-key-store.alias.certificate.encoded=\u8BC1\u4E66\u7684\u7F16\u7801\u503C\u3002
elytron.ldap-key-store.alias.certificate.subject=\u8BC1\u4E66\u4E2D\u7684\u4E3B\u9898\u3002
elytron.ldap-key-store.alias.certificate.issuer=\u8BC1\u4E66\u7684\u53D1\u884C\u8005\u3002
elytron.ldap-key-store.alias.certificate.not-before=\u8BC1\u4E66\u6709\u6548\u7684\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.ldap-key-store.alias.certificate.not-after=\u8BC1\u4E66\u7684\u8FC7\u671F\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.ldap-key-store.alias.certificate.serial-number=\u8BC1\u4E66\u7684\u5E8F\u5217\u53F7\u3002
elytron.ldap-key-store.alias.certificate.signature-algorithm=\u7528\u4E8E\u751F\u6210\u8BC1\u4E66\u7B7E\u540D\u7684\u7B97\u6CD5\u3002
elytron.ldap-key-store.alias.certificate.signature=\u8BC1\u4E66\u7684\u7B7E\u540D\u3002
elytron.ldap-key-store.alias.certificate.version=\u8BC1\u4E66\u7248\u672C\u3002

elytron.ldap-key-store.alias.certificate-chain.type=\u8BC1\u4E66\u7684\u7C7B\u578B\u3002
elytron.ldap-key-store.alias.certificate-chain.algorithm=\u516C\u5171\u5BC6\u94A5\u7684\u7B97\u6CD5\u3002
elytron.ldap-key-store.alias.certificate-chain.format=\u516C\u5171\u5BC6\u94A5\u7684\u683C\u5F0F\u3002
elytron.ldap-key-store.alias.certificate-chain.public-key=\u4E0E\u8BC1\u4E66\u5173\u8054\u7684\u7F16\u7801\u7684\u516C\u5171\u5BC6\u94A5\u3002
elytron.ldap-key-store.alias.certificate-chain.sha-1-digest=\u8BC1\u4E66\u7684 SHA-1 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.ldap-key-store.alias.certificate-chain.sha-256-digest=\u8BC1\u4E66\u7684 SHA-256 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.ldap-key-store.alias.certificate-chain.encoded=\u8BC1\u4E66\u7684\u7F16\u7801\u503C\u3002
elytron.ldap-key-store.alias.certificate-chain.subject=\u8BC1\u4E66\u4E2D\u7684\u4E3B\u9898\u3002
elytron.ldap-key-store.alias.certificate-chain.issuer=\u8BC1\u4E66\u7684\u53D1\u884C\u8005\u3002
elytron.ldap-key-store.alias.certificate-chain.not-before=\u8BC1\u4E66\u6709\u6548\u7684\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.ldap-key-store.alias.certificate-chain.not-after=\u8BC1\u4E66\u7684\u8FC7\u671F\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.ldap-key-store.alias.certificate-chain.serial-number=\u8BC1\u4E66\u7684\u5E8F\u5217\u53F7\u3002
elytron.ldap-key-store.alias.certificate-chain.signature-algorithm=\u7528\u4E8E\u751F\u6210\u8BC1\u4E66\u7B7E\u540D\u7684\u7B97\u6CD5\u3002
elytron.ldap-key-store.alias.certificate-chain.signature=\u8BC1\u4E66\u7684\u7B7E\u540D\u3002
elytron.ldap-key-store.alias.certificate-chain.version=\u8BC1\u4E66\u7248\u672C\u3002

elytron.filtering-key-store=\u8FC7\u6EE4 KeyStore \u5B9A\u4E49\u3002
elytron.filtering-key-store.add=\u6DFB\u52A0\u4E00\u4E2A\u65B0 KeyStore \u5B9A\u4E49\u3002
elytron.filtering-key-store.remove=\u5220\u9664 KeyStore \u5B9A\u4E49\u3002
elytron.filtering-key-store.alias-filter=\u9002\u7528\u4E8E\u4ECE KeyStore \u8FD4\u56DE\u7684\u522B\u540D\u7684\u8FC7\u6EE4\u5668\uFF0C\u53EF\u4EE5\u662F\u7528\u9017\u53F7\u9694\u5F00\u7684\u8981\u8FD4\u56DE\u7684\u522B\u540D\u5217\u8868\uFF0C\u4E5F\u53EF\u4EE5\u662F\u4EE5\u4E0B\u683C\u5F0F\u4E4B\u4E00\uFF1AALL:-alias1:-alias2\u3001NONE:+alias1:+alias2
elytron.filtering-key-store.key-store=\u8FC7\u6EE4\u7684 KeyStore \u7684\u540D\u79F0\u3002
elytron.filtering-key-store.state=\u5728\u8FD0\u884C\u65F6\u8868\u793A\u8BE5 KeyStore \u7684\u5E95\u5C42\u670D\u52A1\u7684\u72B6\u6001\uFF0C\u5982\u679C\u662F\u9664 UP \u4EE5\u5916\u7684\u4EFB\u4F55\u5185\u5BB9\uFF0C\u5219\u8FD0\u884C\u65F6\u64CD\u4F5C\u5C06\u4E0D\u53EF\u7528\u3002
elytron.filtering-key-store.alias=\u8FC7\u6EE4 KeyStore \u4E2D\u7684\u5355\u4E2A\u522B\u540D\u3002

elytron.key-manager=\u521B\u5EFA KeyManager \u7684\u5BC6\u94A5\u7BA1\u7406\u5668\u5B9A\u4E49\u88AB\u7528\u6765\u521B\u5EFA SSLContext\u3002
#operations
elytron.key-manager.add=\u6DFB\u52A0\u65B0\u7684\u5BC6\u94A5\u7BA1\u7406\u5668\u5B9A\u4E49\u3002
elytron.key-manager.remove=\u5220\u9664\u5BC6\u94A5\u7BA1\u7406\u5668\u5B9A\u4E49\u3002
elytron.key-manager.init=\u91CD\u65B0\u521D\u59CB\u5316\u5BC6\u94A5\u7BA1\u7406\u5668\u3002
# Attributes
elytron.key-manager.algorithm=\u7528\u4E8E\u521B\u5EFA\u5E95\u5C42 KeyManagerFactory \u7684\u7B97\u6CD5\u7684\u540D\u79F0\u3002
elytron.key-manager.providers=\u521B\u5EFA\u5E95\u5C42 KeyManagerFactory \u65F6\uFF0C\u83B7\u53D6\u4F7F\u7528\u7684 Provider[] \u7684\u5F15\u7528\u3002
elytron.key-manager.provider-name=\u7528\u4E8E\u521B\u5EFA\u5E95\u5C42 KeyManagerFactory \u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u540D\u79F0\u3002
elytron.key-manager.credential-reference=\u89E3\u5BC6 KeyStore \u9879\u76EE\u7684\u51ED\u8BC1\u5F15\u7528\u3002\uFF08\u4E0D\u662F KeyStore \u7684\u5BC6\u7801\u3002\uFF09
elytron.key-manager.credential-reference.store=\u5B58\u6709\u51ED\u8BC1\u522B\u540D\u7684\u51ED\u8BC1\u5B58\u50A8\u7684\u540D\u79F0\u3002
elytron.key-manager.credential-reference.alias=\u8868\u793A\u5E93\u4E2D\u5B58\u50A8\u7684\u5BC6\u94A5\u6216\u51ED\u8BC1\u7684\u522B\u540D\u3002
elytron.key-manager.credential-reference.type=\u6B64\u5F15\u7528\u8868\u793A\u7684\u51ED\u8BC1\u7684\u7C7B\u578B\u3002
elytron.key-manager.credential-reference.clear-text=\u4F7F\u7528\u660E\u6587\u6307\u5B9A\u7684\u5BC6\u94A5\u3002\u68C0\u67E5\u51ED\u8BC1\u5B58\u50A8\u5411\u670D\u52A1\u63D0\u4F9B\u51ED\u8BC1/\u5BC6\u94A5\u7684\u65B9\u5F0F\u3002
elytron.key-manager.key-store=\u5BF9\u7528\u4E8E\u521D\u59CB\u5316\u5E95\u5C42 KeyManagerFactory \u7684 KeyStore \u7684\u5F15\u7528\u3002
elytron.key-manager.alias-filter=\u9002\u7528\u4E8E\u4ECE KeyStore \u8FD4\u56DE\u7684\u522B\u540D\u7684\u8FC7\u6EE4\u5668\uFF0C\u53EF\u4EE5\u662F\u7528\u9017\u53F7\u9694\u5F00\u7684\u8981\u8FD4\u56DE\u7684\u522B\u540D\u5217\u8868\uFF0C\u4E5F\u53EF\u4EE5\u662F\u4EE5\u4E0B\u683C\u5F0F\u4E4B\u4E00\uFF1AALL:-alias1:-alias2\u3001NONE:+alias1:+alias2
elytron.key-manager.generate-self-signed-certificate-host=\u5982\u679C\u652F\u6301 KeyStore \u7684\u6587\u4EF6\u4E0D\u5B58\u5728\u4E14\u8BBE\u7F6E\u4E86\u8FD9\u4E2A\u5C5E\u6027\uFF0C\u90A3\u4E48\u5C06\u4E3A\u6307\u5B9A\u7684\u4E3B\u673A\u540D\u751F\u6210\u81EA\u7B7E\u540D\u8BC1\u4E66\u3002\u8FD9\u4E0D\u5E94\u7528\u4E8E\u4EA7\u54C1\u73AF\u5883\u3002

elytron.trust-manager=\u5982\u540C\u7528\u4E8E\u521B\u5EFA SSLContext \u4E00\u6837\uFF0C\u7528\u6765\u521B\u5EFA TrustManager[] \u7684\u4FE1\u4EFB\u7BA1\u7406\u5668\u5B9A\u4E49\u3002
#operations
elytron.trust-manager.add=\u6DFB\u52A0\u65B0\u7684\u4FE1\u4EFB\u7BA1\u7406\u5668\u5B9A\u4E49\u3002
elytron.trust-manager.remove=\u5220\u9664\u4FE1\u4EFB\u7BA1\u7406\u5668\u5B9A\u4E49\u3002
elytron.trust-manager.init=\u91CD\u65B0\u521D\u59CB\u5316\u4FE1\u4EFB\u7BA1\u7406\u5668\u3002
# Attributes
elytron.trust-manager.algorithm=\u7528\u4E8E\u521B\u5EFA\u5E95\u5C42 TrustManagerFactory \u7684\u7B97\u6CD5\u7684\u540D\u79F0\u3002
elytron.trust-manager.providers=\u521B\u5EFA\u5E95\u5C42 TrustManagerFactory \u65F6\uFF0C\u83B7\u53D6\u4F7F\u7528\u7684 Provider[] \u7684\u5F15\u7528\u3002
elytron.trust-manager.provider-name=\u7528\u4E8E\u521B\u5EFA\u5E95\u5C42 TrustManagerFactory \u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u540D\u79F0\u3002
elytron.trust-manager.key-store=\u5BF9\u7528\u4E8E\u521D\u59CB\u5316\u5E95\u5C42 TrustManagerFactory \u7684 KeyStore \u7684\u5F15\u7528\u3002
elytron.trust-manager.alias-filter=\u9002\u7528\u4E8E\u4ECE KeyStore \u8FD4\u56DE\u7684\u522B\u540D\u7684\u8FC7\u6EE4\u5668\uFF0C\u53EF\u4EE5\u662F\u7528\u9017\u53F7\u9694\u5F00\u7684\u8981\u8FD4\u56DE\u7684\u522B\u540D\u5217\u8868\uFF0C\u4E5F\u53EF\u4EE5\u662F\u4EE5\u4E0B\u683C\u5F0F\u4E4B\u4E00\uFF1AALL:-alias1:-alias2\u3001NONE:+alias1:+alias2
elytron.trust-manager.maximum-cert-path=\u7528\u4E8E OCSP \u548C CRL \u68C0\u67E5\u7684\u8BC1\u4E66\u8DEF\u5F84\u4E2D\u53EF\u80FD\u5B58\u5728\u7684\u6700\u5927\u7684\u975E\u81EA\u7B7E\u53D1\u7684\u4E2D\u95F4\u8BC1\u4E66\u7684\u6570\u91CF\u3002\u5982\u679C\u6CA1\u6709\u914D\u7F6E OCSP \u6216 CRL\uFF0C\u5219\u8FD9\u4E2A\u5C5E\u6027\u6CA1\u6709\u4EFB\u4F55\u5F71\u54CD\u3002
elytron.trust-manager.only-leaf-cert=\u5728\u68C0\u67E5 revocation \u72B6\u6001\u65F6\u662F\u5426\u53EA\u68C0\u67E5 leaf \u8BC1\u4E66\u3002
elytron.trust-manager.soft-fail=\u662F\u5426\u63A5\u53D7\u5E26\u6709\u672A\u77E5 OCSP \u54CD\u5E94\u7684\u8BC1\u4E66\u3002
elytron.trust-manager.certificate-revocation-list=\u542F\u7528\u5BF9\u4FE1\u4EFB\u7BA1\u7406\u5668\u7684\u8BC1\u4E66\u64A4\u9500\u5217\u8868\u68C0\u67E5\u3002
elytron.trust-manager.certificate-revocation-list.path=\u7528\u4E8E\u521D\u59CB\u5316\u63D0\u4F9B\u7A0B\u5E8F\u7684\u914D\u7F6E\u7684\u8DEF\u5F84\u3002
elytron.trust-manager.certificate-revocation-list.relative-to=\u8BC1\u4E66\u64A4\u9500\u5217\u8868\u6587\u4EF6\u7684\u57FA\u7840\u8DEF\u5F84\u3002
elytron.trust-manager.certificate-revocation-list.maximum-cert-path=\u53EF\u80FD\u5B58\u5728\u4E8E\u8BC1\u4E66\u8DEF\u5F84\u4E2D\u7684\u975E\u81EA\u884C\u53D1\u884C\u7684\u4E2D\u95F4\u8BC1\u4E66\u7684\u6700\u5927\u6570\u91CF\u3002
elytron.trust-manager.certificate-revocation-list.maximum-cert-path.deprecated=\u6B63\u786E\u4F7F\u7528\u4FE1\u4EFB\u7BA1\u7406\u5668\u4E2D\u7684 'maximum-cert-path' \u3002
elytron.trust-manager.ocsp=\u542F\u7528\u5728\u7EBF\u8BC1\u4E66\u72B6\u6001\u534F\u8BAE\u68C0\u67E5\u5230\u4E00\u4E2A\u4FE1\u4EFB\u7684 manager\u3002
elytron.trust-manager.ocsp.prefer-crls=certificate-revocation-list \u662F\u5426\u6BD4 OCSP \u66F4\u4F18\u5148\u3002
elytron.trust-manager.ocsp.responder=\u8981\u4F7F\u7528\u7684 OCSP responder \u7684 URL\u3002\u5982\u679C\u672A\u5B9A\u4E49\uFF0C\u4F7F\u7528\u6765\u81EA\u8BC1\u4E66\u7684 responder\u3002
elytron.trust-manager.ocsp.responder-certificate=OCSP Responder \u8BC1\u4E66\u7684\u522B\u540D\u3002\u5982\u679C\u672A\u5B9A\u4E49\uFF0C\u4F7F\u7528\u9A8C\u8BC1\u4E2D\u8BC1\u4E66\u7684\u53D1\u884C\u8005\u3002
elytron.trust-manager.ocsp.responder-keystore=responder-certificate \u7684 keystore\u3002\u5982\u679C\u672A\u5B9A\u4E49\uFF0C\u4F7F\u7528 trust-manager keystore\u3002\u9700\u8981 responder-certificate \u88AB\u5B9A\u4E49\u3002
elytron.trust-manager.reload-certificate-revocation-list=\u901A\u77E5\u4FE1\u4EFB\u7BA1\u7406\u5668\uFF0C\u4EE5\u4FBF\u91CD\u65B0\u52A0\u8F7D\u8BC1\u4E66\u64A4\u9500\u5217\u8868\uFF08\u5982\u679C\u5B9A\u4E49\uFF09\u3002
elytron.trust-manager.certificate-revocation-lists=\u5BF9\u4F7F\u7528\u591A\u4E2A\u8BC1\u4E66\u64A4\u9500\u5217\u8868\u7684\u4FE1\u4EFB\u7BA1\u7406\u5668\u542F\u7528\u8BC1\u4E66\u64A4\u9500\u5217\u8868\u68C0\u67E5\u3002
elytron.trust-manager.certificate-revocation-lists.path=\u8BC1\u4E66\u64A4\u9500\u5217\u8868\u7684\u8DEF\u5F84\u3002
elytron.trust-manager.certificate-revocation-lists.relative-to=\u8BC1\u4E66\u64A4\u9500\u5217\u8868\u6587\u4EF6\u7684\u57FA\u7840\u8DEF\u5F84\u3002

elytron.client-ssl-context=\u5728\u8FDE\u63A5\u7684\u5BA2\u6237\u7AEF\u4F7F\u7528\u7684 SSLContext\u3002
# operations
elytron.client-ssl-context.add=\u6DFB\u52A0 SSLContext \u5B9A\u4E49\u3002
elytron.client-ssl-context.remove=\u5220\u9664 SSLContext \u5B9A\u4E49\u3002
#Attributes
elytron.client-ssl-context.cipher-suite-filter=\u7528\u4E8E\u4E3A TLSv1.2 \u548C\u4EE5\u4E0B\u6307\u5B9A\u542F\u7528\u7684\u5BC6\u7801\u5957\u4EF6\u7684\u8FC7\u6EE4\u5668\u3002
elytron.client-ssl-context.cipher-suite-names=\u6307\u5B9A\u4E3A TLSv1.3 \u542F\u7528\u7684\u5BC6\u7801\u5957\u4EF6\u65F6\u5E94\u7528\u7684\u8FC7\u6EE4\u5668\u3002
elytron.client-ssl-context.protocols=\u5DF2\u542F\u7528\u7684\u534F\u8BAE\u3002
elytron.client-ssl-context.use-cipher-suites-order=\u7528\u4E8E\u9075\u5FAA\u672C\u5730\u7684\u5BC6\u7801\u5957\u4EF6\u504F\u597D\u3002
elytron.client-ssl-context.maximum-session-cache-size=\u7F13\u5B58\u4E2D SSL \u4F1A\u8BDD\u7684\u6700\u5927\u6570\u76EE\u3002\u9ED8\u8BA4\u503C -1 \u8868\u793A\u4F7F\u7528 JVM \u9ED8\u8BA4\u503C\u3002\u503C 0 \u8868\u793A\u4E0D\u5B58\u5728\u9650\u5236\u3002
elytron.client-ssl-context.session-timeout=SSL \u4F1A\u8BDD\u7684\u8D85\u65F6\u65F6\u95F4\uFF08\u79D2\uFF09\u3002\u9ED8\u8BA4\u503C -1 \u8868\u793A\u4F7F\u7528 JVM \u9ED8\u8BA4\u503C\u3002\u503C 0 \u8868\u793A\u4E0D\u5B58\u5728\u9650\u5236\u3002
elytron.client-ssl-context.key-manager=\u5BF9\u8981\u5728 SSLContext \u4E2D\u4F7F\u7528\u7684\u5BC6\u94A5\u7BA1\u7406\u5668\u7684\u5F15\u7528\u3002
elytron.client-ssl-context.key-refresh=\u5237\u65B0 SSLContext \u4F7F\u7528\u7684 KeyManager\u3002
elytron.client-ssl-context.trust-manager=\u5BF9\u8981\u5728 SSLContext \u4E2D\u4F7F\u7528\u7684\u4FE1\u4EFB\u7BA1\u7406\u5668\u7684\u5F15\u7528\u3002
elytron.client-ssl-context.provider-name=\u8981\u4F7F\u7528\u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u540D\u79F0\u3002\u5982\u679C\u672A\u6307\u5B9A\uFF0C\u63D0\u4F9B\u7A0B\u5E8F\u4E2D\u7684\u6240\u6709\u63D0\u4F9B\u7A0B\u5E8F\u90FD\u5C06\u88AB\u4F20\u9012\u81F3 SSLContext\u3002
elytron.client-ssl-context.providers=\u8981\u83B7\u53D6\u7528\u4E8E\u52A0\u8F7D SSLContext \u7684 Provider[] \u7684\u63D0\u4F9B\u7A0B\u5E8F\u540D\u79F0\u3002
# Runtime Attributes
elytron.client-ssl-context.active-session-count=\u5F53\u524D\u6D3B\u52A8\u4F1A\u8BDD\u7684\u8BA1\u6570\u3002

elytron.client-ssl-context.ssl-session=\u5F53\u524D\u5EFA\u7ACB\u7684 SSL \u4F1A\u8BDD\u3002
elytron.client-ssl-context.ssl-session.application-buffer-size=SSLSession \u6240\u62A5\u544A\u7684\u5E94\u7528\u7F13\u51B2\u5927\u5C0F\u3002
elytron.client-ssl-context.ssl-session.cipher-suite=SSLSession \u6240\u62A5\u544A\u7684\u9009\u5B9A\u7684\u5BC6\u7801\u5957\u4EF6\u3002
elytron.client-ssl-context.ssl-session.creation-time=SSLSession \u6240\u62A5\u544A\u7684\u521B\u5EFA\u65F6\u95F4\u3002
elytron.client-ssl-context.ssl-session.last-accessed-time=SSLSession \u6240\u62A5\u544A\u7684\u4E0A\u6B21\u8BBF\u95EE\u65F6\u95F4\u3002
elytron.client-ssl-context.ssl-session.local-principal=SSLSession \u6240\u62A5\u544A\u7684\u672C\u5730\u4E3B\u4F53\u3002
elytron.client-ssl-context.ssl-session.packet-buffer-size=SSLSession \u6240\u62A5\u544A\u7684\u6570\u636E\u5305\u7F13\u51B2\u5927\u5C0F\u3002
elytron.client-ssl-context.ssl-session.peer-host=SSLSession \u6240\u62A5\u544A\u7684\u5BF9\u7B49\u4E3B\u673A\u3002
elytron.client-ssl-context.ssl-session.peer-port=SSLSession \u6240\u62A5\u544A\u7684\u5BF9\u7B49\u7AEF\u53E3\u3002
elytron.client-ssl-context.ssl-session.peer-principal=SSLSession \u6240\u62A5\u544A\u7684\u5BF9\u7B49\u4E3B\u4F53\u3002
elytron.client-ssl-context.ssl-session.protocol=SSLSession \u6240\u62A5\u544A\u7684\u534F\u8BAE\u3002
elytron.client-ssl-context.ssl-session.valid=SSLSession \u6240\u62A5\u544A\u7684\u4F1A\u8BDD\u7684\u6709\u6548\u6027\u3002

elytron.client-ssl-context.ssl-session.local-certificates=\u6765\u81EA SSLSession \u7684\u672C\u5730\u8BC1\u4E66\u3002
elytron.client-ssl-context.ssl-session.local-certificates.type=\u8BC1\u4E66\u7684\u7C7B\u578B\u3002
elytron.client-ssl-context.ssl-session.local-certificates.algorithm=\u516C\u5171\u5BC6\u94A5\u7684\u7B97\u6CD5\u3002
elytron.client-ssl-context.ssl-session.local-certificates.format=\u516C\u5171\u5BC6\u94A5\u7684\u683C\u5F0F\u3002
elytron.client-ssl-context.ssl-session.local-certificates.public-key=\u4E0E\u8BC1\u4E66\u5173\u8054\u7684\u7F16\u7801\u7684\u516C\u5171\u5BC6\u94A5\u3002
elytron.client-ssl-context.ssl-session.local-certificates.sha-1-digest=\u8BC1\u4E66\u7684 SHA-1 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.client-ssl-context.ssl-session.local-certificates.sha-256-digest=\u8BC1\u4E66\u7684 SHA-256 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.client-ssl-context.ssl-session.local-certificates.encoded=\u8BC1\u4E66\u7684\u7F16\u7801\u503C\u3002
elytron.client-ssl-context.ssl-session.local-certificates.subject=\u8BC1\u4E66\u4E2D\u7684\u4E3B\u9898\u3002
elytron.client-ssl-context.ssl-session.local-certificates.issuer=\u8BC1\u4E66\u7684\u53D1\u884C\u8005\u3002
elytron.client-ssl-context.ssl-session.local-certificates.not-before=\u8BC1\u4E66\u6709\u6548\u7684\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.client-ssl-context.ssl-session.local-certificates.not-after=\u8BC1\u4E66\u7684\u8FC7\u671F\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.client-ssl-context.ssl-session.local-certificates.serial-number=\u8BC1\u4E66\u7684\u5E8F\u5217\u53F7\u3002
elytron.client-ssl-context.ssl-session.local-certificates.signature-algorithm=\u7528\u4E8E\u751F\u6210\u8BC1\u4E66\u7B7E\u540D\u7684\u7B97\u6CD5\u3002
elytron.client-ssl-context.ssl-session.local-certificates.signature=\u8BC1\u4E66\u7684\u7B7E\u540D\u3002
elytron.client-ssl-context.ssl-session.local-certificates.version=\u8BC1\u4E66\u7248\u672C\u3002

elytron.client-ssl-context.ssl-session.peer-certificates=\u6765\u81EA SSLSession \u7684\u5BF9\u7B49\u8BC1\u4E66\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.type=\u8BC1\u4E66\u7684\u7C7B\u578B\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.algorithm=\u516C\u5171\u5BC6\u94A5\u7684\u7B97\u6CD5\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.format=\u516C\u5171\u5BC6\u94A5\u7684\u683C\u5F0F\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.public-key=\u4E0E\u8BC1\u4E66\u5173\u8054\u7684\u7F16\u7801\u7684\u516C\u5171\u5BC6\u94A5\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.sha-1-digest=\u8BC1\u4E66\u7684 SHA-1 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.sha-256-digest=\u8BC1\u4E66\u7684 SHA-256 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.encoded=\u8BC1\u4E66\u7684\u7F16\u7801\u503C\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.subject=\u8BC1\u4E66\u4E2D\u7684\u4E3B\u9898\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.issuer=\u8BC1\u4E66\u7684\u53D1\u884C\u8005\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.not-before=\u8BC1\u4E66\u6709\u6548\u7684\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.not-after=\u8BC1\u4E66\u7684\u8FC7\u671F\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.serial-number=\u8BC1\u4E66\u7684\u5E8F\u5217\u53F7\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.signature-algorithm=\u7528\u4E8E\u751F\u6210\u8BC1\u4E66\u7B7E\u540D\u7684\u7B97\u6CD5\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.signature=\u8BC1\u4E66\u7684\u7B7E\u540D\u3002
elytron.client-ssl-context.ssl-session.peer-certificates.version=\u8BC1\u4E66\u7248\u672C\u3002

# Operations
elytron.client-ssl-context.ssl-session.invalidate=\u4F7F SSLSession \u65E0\u6548\uFF08\u8BF7\u6CE8\u610F\uFF1A\u8FD9\u4E0D\u4F1A\u7EC8\u6B62\u5F53\u524D\u8FDE\u63A5\uFF0C\u53EA\u4F1A\u963B\u6B62\u4E4B\u540E\u7684\u8FDE\u63A5\u52A0\u5165\u6216\u7EE7\u7EED\u6B64\u4F1A\u8BDD\uFF09\u3002

elytron.dynamic-client-ssl-context=\u5728\u8FDE\u63A5\u7684\u5BA2\u6237\u7AEF\u4E0A\u4F7F\u7528\u7684\u52A8\u6001 SSL \u4E0A\u4E0B\u6587\u3002\u53EF\u4EE5\u6839\u636E\u5BF9\u7B49\u7684\u4E3B\u673A\u548C\u7AEF\u53E3\u4FE1\u606F\u6765\u9009\u62E9\u8981\u4F7F\u7528\u7684 SSL \u4E0A\u4E0B\u6587\u3002
# operations
elytron.dynamic-client-ssl-context.add=\u6DFB\u52A0\u52A8\u6001\u5BA2\u6237\u7AEF SSL \u4E0A\u4E0B\u6587\u5B9A\u4E49\u3002
elytron.dynamic-client-ssl-context.remove=\u5220\u9664\u52A8\u6001\u5BA2\u6237\u7AEF SSL \u4E0A\u4E0B\u6587\u5B9A\u4E49\u3002
#Attributes
elytron.dynamic-client-ssl-context.authentication-context=\u5C06\u6839\u636E\u5BF9\u7B49\u4FE1\u606F\u67E5\u8BE2 SSL \u4E0A\u4E0B\u6587\u7684\u8EAB\u4EFD\u9A8C\u8BC1\u4E0A\u4E0B\u6587\u3002

elytron.server-ssl-context=\u5728\u8FDE\u63A5\u7684\u670D\u52A1\u5668\u7AEF\u4F7F\u7528\u7684 SSLContext\u3002
# operations
elytron.server-ssl-context.add=\u6DFB\u52A0 SSL \u4E0A\u4E0B\u6587\u5B9A\u4E49\u3002
elytron.server-ssl-context.remove=\u5220\u9664 SSL \u4E0A\u4E0B\u6587\u5B9A\u4E49\u3002
#Attributes
elytron.server-ssl-context.security-domain=\u5EFA\u7ACB SSL \u4F1A\u8BDD\u671F\u95F4\uFF0C\u7528\u4E8E\u9A8C\u8BC1\u7684\u5B89\u5168\u57DF\u3002
elytron.server-ssl-context.cipher-suite-filter=\u7528\u4E8E\u4E3A TLSv1.2 \u548C\u4EE5\u4E0B\u6307\u5B9A\u542F\u7528\u7684\u5BC6\u7801\u5957\u4EF6\u7684\u8FC7\u6EE4\u5668\u3002
elytron.server-ssl-context.cipher-suite-names=\u6307\u5B9A\u4E3A TLSv1.3 \u542F\u7528\u7684\u5BC6\u7801\u5957\u4EF6\u65F6\u5E94\u7528\u7684\u8FC7\u6EE4\u5668\u3002
elytron.server-ssl-context.protocols=\u5DF2\u542F\u7528\u7684\u534F\u8BAE\u3002
elytron.server-ssl-context.want-client-auth=\u5728 SSL \u63E1\u624B\u4E0A\u8BF7\u6C42\uFF08\u4F46\u4E0D\u8981\u6C42\uFF09\u4E00\u4E2A\u5BA2\u6237\u7AEF\u8BC1\u4E66\u3002\u5982\u679C\u5B89\u5168\u57DF\u88AB\u5F15\u7528\u4E14\u652F\u6301 X509 \u8BC1\u636E\uFF0C\u5219\u4F1A\u81EA\u52A8\u8BBE\u7F6E\u4E3A true\u3002\u5982\u679C\u8BBE\u7F6E\u4E86 need-client-auth\uFF0C\u5219\u5FFD\u7565\u3002
elytron.server-ssl-context.need-client-auth=\u5728 SSL \u63E1\u624B\u4E0A\u8981\u6C42\u4E00\u4E2A\u5BA2\u6237\u7AEF\u8BC1\u4E66\u3002\u4E0D\u5177\u5907\u53D7\u4FE1\u4EFB\u7684\u5BA2\u6237\u7AEF\u8BC1\u4E66\uFF08\u53C2\u89C1 trust-manager\uFF09\u7684\u8FDE\u63A5\u5C06\u88AB\u62D2\u7EDD\u3002
elytron.server-ssl-context.authentication-optional=\u7531\u5B89\u5168\u57DF\u62D2\u7EDD\u5BA2\u6237\u7AEF\u8BC1\u4E66\u5E76\u4E0D\u4F1A\u963B\u6B62\u8FDE\u63A5\u3002\u5728\u5BA2\u6237\u7AEF\u8BC1\u4E66\u88AB\u5B89\u5168\u57DF\u62D2\u7EDD\u65F6\uFF0C\u5141\u8BB8\u8D2F\u7A7F\u4F7F\u7528\u5176\u4ED6\u9A8C\u8BC1\u673A\u5236\uFF08\u4F8B\u5982\u8868\u5355\u767B\u5F55\uFF09\u3002\u53EA\u6709\u5728\u8BBE\u7F6E\u4E86\u5B89\u5168\u57DF\u65F6\u624D\u6709\u6548\u3002
elytron.server-ssl-context.use-cipher-suites-order=\u7528\u4E8E\u9075\u5FAA\u672C\u5730\u7684\u5BC6\u7801\u5957\u4EF6\u504F\u597D\u3002
elytron.server-ssl-context.maximum-session-cache-size=\u7F13\u5B58\u4E2D SSL \u4F1A\u8BDD\u7684\u6700\u5927\u6570\u76EE\u3002\u9ED8\u8BA4\u503C -1 \u8868\u793A\u4F7F\u7528 JVM \u9ED8\u8BA4\u503C\u3002\u503C 0 \u8868\u793A\u4E0D\u5B58\u5728\u9650\u5236\u3002
elytron.server-ssl-context.session-timeout=SSL \u4F1A\u8BDD\u7684\u8D85\u65F6\u65F6\u95F4\uFF08\u79D2\uFF09\u3002\u9ED8\u8BA4\u503C -1 \u8868\u793A\u4F7F\u7528 JVM \u9ED8\u8BA4\u503C\u3002\u503C 0 \u8868\u793A\u4E0D\u5B58\u5728\u9650\u5236\u3002
elytron.server-ssl-context.wrap=\u662F\u5426\u5E94\u5C01\u88C5\u8FD4\u56DE\u7684 SSLEngine\u3001SSLSocket \u548C SSLServerSocket \u5B9E\u4F8B\uFF0C\u4EE5\u9632\u88AB\u8FDB\u4E00\u6B65\u4FEE\u6539\u3002
elytron.server-ssl-context.key-manager=\u5BF9\u8981\u5728 SSLContext \u4E2D\u4F7F\u7528\u7684\u5BC6\u94A5\u7BA1\u7406\u5668\u7684\u5F15\u7528\u3002
elytron.server-ssl-context.key-refresh=\u5237\u65B0 SSLContext \u4F7F\u7528\u7684 KeyManager\u3002
elytron.server-ssl-context.trust-manager=\u5BF9\u8981\u5728 SSLContext \u4E2D\u4F7F\u7528\u7684\u4FE1\u4EFB\u7BA1\u7406\u5668\u7684\u5F15\u7528\u3002
elytron.server-ssl-context.pre-realm-principal-transformer=\u9009\u5B9A\u9886\u57DF\u4E4B\u524D\u8981\u5E94\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u3002
elytron.server-ssl-context.post-realm-principal-transformer=\u9009\u5B9A\u9886\u57DF\u4E4B\u540E\u8981\u5E94\u7528\u7684\u4E3B\u4F53\u8F6C\u6362\u5668\u3002
elytron.server-ssl-context.final-principal-transformer=\u5BF9\u6B64\u673A\u5236\u9886\u57DF\u5E94\u7528\u7684\u6700\u7EC8\u4E3B\u4F53\u8F6C\u6362\u5668\u3002
elytron.server-ssl-context.realm-mapper=\u7528\u4E8E\u8FDB\u884C SSL \u9A8C\u8BC1\u7684\u9886\u57DF\u6620\u5C04\u5668\u3002
elytron.server-ssl-context.provider-name=\u8981\u4F7F\u7528\u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u540D\u79F0\u3002\u5982\u679C\u672A\u6307\u5B9A\uFF0C\u63D0\u4F9B\u7A0B\u5E8F\u4E2D\u7684\u6240\u6709\u63D0\u4F9B\u7A0B\u5E8F\u90FD\u5C06\u88AB\u4F20\u9012\u81F3 SSLContext\u3002
elytron.server-ssl-context.providers=\u8981\u83B7\u53D6\u7528\u4E8E\u52A0\u8F7D SSLContext \u7684 Provider[] \u7684\u63D0\u4F9B\u7A0B\u5E8F\u540D\u79F0\u3002
# Runtime Attributes
elytron.server-ssl-context.active-session-count=\u5F53\u524D\u6D3B\u52A8\u4F1A\u8BDD\u7684\u8BA1\u6570\u3002

elytron.server-ssl-context.ssl-session=\u5F53\u524D\u5EFA\u7ACB\u7684 SSL \u4F1A\u8BDD\u3002
elytron.server-ssl-context.ssl-session.application-buffer-size=SSLSession \u6240\u62A5\u544A\u7684\u5E94\u7528\u7F13\u51B2\u5927\u5C0F\u3002
elytron.server-ssl-context.ssl-session.cipher-suite=SSLSession \u6240\u62A5\u544A\u7684\u9009\u5B9A\u7684\u5BC6\u7801\u5957\u4EF6\u3002
elytron.server-ssl-context.ssl-session.creation-time=SSLSession \u6240\u62A5\u544A\u7684\u521B\u5EFA\u65F6\u95F4\u3002
elytron.server-ssl-context.ssl-session.last-accessed-time=SSLSession \u6240\u62A5\u544A\u7684\u4E0A\u6B21\u8BBF\u95EE\u65F6\u95F4\u3002
elytron.server-ssl-context.ssl-session.local-principal=SSLSession \u6240\u62A5\u544A\u7684\u672C\u5730\u4E3B\u4F53\u3002
elytron.server-ssl-context.ssl-session.packet-buffer-size=SSLSession \u6240\u62A5\u544A\u7684\u6570\u636E\u5305\u7F13\u51B2\u5927\u5C0F\u3002
elytron.server-ssl-context.ssl-session.peer-host=SSLSession \u6240\u62A5\u544A\u7684\u5BF9\u7B49\u4E3B\u673A\u3002
elytron.server-ssl-context.ssl-session.peer-port=SSLSession \u6240\u62A5\u544A\u7684\u5BF9\u7B49\u7AEF\u53E3\u3002
elytron.server-ssl-context.ssl-session.peer-principal=SSLSession \u6240\u62A5\u544A\u7684\u5BF9\u7B49\u4E3B\u4F53\u3002
elytron.server-ssl-context.ssl-session.protocol=SSLSession \u6240\u62A5\u544A\u7684\u534F\u8BAE\u3002
elytron.server-ssl-context.ssl-session.valid=SSLSession \u6240\u62A5\u544A\u7684\u4F1A\u8BDD\u7684\u6709\u6548\u6027\u3002

elytron.server-ssl-context.ssl-session.local-certificates=\u6765\u81EA SSLSession \u7684\u672C\u5730\u8BC1\u4E66\u3002
elytron.server-ssl-context.ssl-session.local-certificates.type=\u8BC1\u4E66\u7684\u7C7B\u578B\u3002
elytron.server-ssl-context.ssl-session.local-certificates.algorithm=\u516C\u5171\u5BC6\u94A5\u7684\u7B97\u6CD5\u3002
elytron.server-ssl-context.ssl-session.local-certificates.format=\u516C\u5171\u5BC6\u94A5\u7684\u683C\u5F0F\u3002
elytron.server-ssl-context.ssl-session.local-certificates.public-key=\u4E0E\u8BC1\u4E66\u5173\u8054\u7684\u7F16\u7801\u7684\u516C\u5171\u5BC6\u94A5\u3002
elytron.server-ssl-context.ssl-session.local-certificates.sha-1-digest=\u8BC1\u4E66\u7684 SHA-1 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.server-ssl-context.ssl-session.local-certificates.sha-256-digest=\u8BC1\u4E66\u7684 SHA-256 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.server-ssl-context.ssl-session.local-certificates.encoded=\u8BC1\u4E66\u7684\u7F16\u7801\u503C\u3002
elytron.server-ssl-context.ssl-session.local-certificates.subject=\u8BC1\u4E66\u4E2D\u7684\u4E3B\u9898\u3002
elytron.server-ssl-context.ssl-session.local-certificates.issuer=\u8BC1\u4E66\u7684\u53D1\u884C\u8005\u3002
elytron.server-ssl-context.ssl-session.local-certificates.not-before=\u8BC1\u4E66\u6709\u6548\u7684\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.server-ssl-context.ssl-session.local-certificates.not-after=\u8BC1\u4E66\u7684\u8FC7\u671F\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.server-ssl-context.ssl-session.local-certificates.serial-number=\u8BC1\u4E66\u7684\u5E8F\u5217\u53F7\u3002
elytron.server-ssl-context.ssl-session.local-certificates.signature-algorithm=\u7528\u4E8E\u751F\u6210\u8BC1\u4E66\u7B7E\u540D\u7684\u7B97\u6CD5\u3002
elytron.server-ssl-context.ssl-session.local-certificates.signature=\u8BC1\u4E66\u7684\u7B7E\u540D\u3002
elytron.server-ssl-context.ssl-session.local-certificates.version=\u8BC1\u4E66\u7248\u672C\u3002

elytron.server-ssl-context.ssl-session.peer-certificates=\u6765\u81EA SSLSession \u7684\u5BF9\u7B49\u8BC1\u4E66\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.type=\u8BC1\u4E66\u7684\u7C7B\u578B\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.algorithm=\u516C\u5171\u5BC6\u94A5\u7684\u7B97\u6CD5\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.format=\u516C\u5171\u5BC6\u94A5\u7684\u683C\u5F0F\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.public-key=\u4E0E\u8BC1\u4E66\u5173\u8054\u7684\u7F16\u7801\u7684\u516C\u5171\u5BC6\u94A5\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.sha-1-digest=\u8BC1\u4E66\u7684 SHA-1 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.sha-256-digest=\u8BC1\u4E66\u7684 SHA-256 \u6458\u8981\uFF08\u6307\u7EB9\uFF09\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.encoded=\u8BC1\u4E66\u7684\u7F16\u7801\u503C\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.subject=\u8BC1\u4E66\u4E2D\u7684\u4E3B\u9898\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.issuer=\u8BC1\u4E66\u7684\u53D1\u884C\u8005\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.not-before=\u8BC1\u4E66\u6709\u6548\u7684\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.not-after=\u8BC1\u4E66\u7684\u8FC7\u671F\u65E5\u671F\u548C\u65F6\u95F4\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.serial-number=\u8BC1\u4E66\u7684\u5E8F\u5217\u53F7\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.signature-algorithm=\u7528\u4E8E\u751F\u6210\u8BC1\u4E66\u7B7E\u540D\u7684\u7B97\u6CD5\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.signature=\u8BC1\u4E66\u7684\u7B7E\u540D\u3002
elytron.server-ssl-context.ssl-session.peer-certificates.version=\u8BC1\u4E66\u7248\u672C\u3002

# Operations
elytron.server-ssl-context.ssl-session.invalidate=\u4F7F SSLSession \u65E0\u6548\uFF08\u8BF7\u6CE8\u610F\uFF1A\u8FD9\u4E0D\u4F1A\u7EC8\u6B62\u5F53\u524D\u8FDE\u63A5\uFF0C\u53EA\u4F1A\u963B\u6B62\u4E4B\u540E\u7684\u8FDE\u63A5\u52A0\u5165\u6216\u7EE7\u7EED\u6B64\u4F1A\u8BDD\uFF09\u3002

elytron.certificate-authority=\u8BC1\u4E66\u6388\u6743\u673A\u6784\u5B9A\u4E49\u3002
# Operations
elytron.certificate-authority.add=\u6DFB\u52A0\u4E00\u4E2A\u65B0\u7684\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5B9A\u4E49\u3002
elytron.certificate-authority.remove=\u5220\u9664\u8BC1\u4E66\u6388\u6743\u673A\u6784\u5B9A\u4E49\u3002
# Configuration Attributes
elytron.certificate-authority.url=\u8BC1\u4E66\u6388\u6743\u673A\u6784\u7684 URL\u3002
elytron.certificate-authority.staging-url=\u5728\u751F\u4EA7\u524D\u4F7F\u7528\u7684\u8BC1\u4E66\u6388\u6743\u673A\u6784\u7684 URL\u3002

elytron.certificate-authority-account=\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u5B9A\u4E49\u3002
# Operations
elytron.certificate-authority-account.add=\u6DFB\u52A0\u65B0\u7684\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u5B9A\u4E49\u3002
elytron.certificate-authority-account.remove=\u5220\u9664\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u5B9A\u4E49\u3002
elytron.certificate-authority-account.create-account=\u5982\u679C\u4E0D\u5B58\u5728\uFF0C\u5219\u901A\u8FC7\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u521B\u5EFA\u4E00\u4E2A\u5E10\u6237\u3002
elytron.certificate-authority-account.create-account.agree-to-terms-of-service=\u8868\u793A\u7528\u6237\u662F\u5426\u540C\u610F\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u7684\u670D\u52A1\u6761\u6B3E\u3002
elytron.certificate-authority-account.create-account.staging=\u8868\u793A\u662F\u5426\u5E94\u4F7F\u7528\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u7684\u5206\u9636\u6BB5 URL\u3002\u9ED8\u8BA4\u503C\u4E3A false\u3002\u8FD9\u4EC5\u5E94\u51FA\u4E8E\u6D4B\u8BD5\u76EE\u7684\u8BBE\u7F6E\u4E3A true\u3002\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u7EDD\u4E0D\u80FD\u8BBE\u7F6E\u4E3A true\u3002
elytron.certificate-authority-account.update-account=\u901A\u8FC7\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u66F4\u65B0\u5E10\u6237\u3002
elytron.certificate-authority-account.update-account.agree-to-terms-of-service=\u8868\u793A\u7528\u6237\u662F\u5426\u540C\u610F\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u7684\u670D\u52A1\u6761\u6B3E\u3002
elytron.certificate-authority-account.update-account.staging=\u8868\u793A\u662F\u5426\u5E94\u4F7F\u7528\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u7684\u5206\u9636\u6BB5 URL\u3002\u9ED8\u8BA4\u503C\u4E3A false\u3002\u8FD9\u4EC5\u5E94\u51FA\u4E8E\u6D4B\u8BD5\u76EE\u7684\u8BBE\u7F6E\u4E3A true\u3002\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u7EDD\u4E0D\u80FD\u8BBE\u7F6E\u4E3A true\u3002
elytron.certificate-authority-account.change-account-key=\u66F4\u6539\u4E0E\u6B64\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u5173\u8054\u7684\u5BC6\u94A5\u3002
elytron.certificate-authority-account.change-account-key.staging=\u8868\u793A\u662F\u5426\u5E94\u4F7F\u7528\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u7684\u5206\u9636\u6BB5 URL\u3002\u9ED8\u8BA4\u503C\u4E3A false\u3002\u8FD9\u4EC5\u5E94\u51FA\u4E8E\u6D4B\u8BD5\u76EE\u7684\u8BBE\u7F6E\u4E3A true\u3002\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u7EDD\u4E0D\u80FD\u8BBE\u7F6E\u4E3A true\u3002
elytron.certificate-authority-account.deactivate-account=\u505C\u7528\u6B64\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u3002
elytron.certificate-authority-account.deactivate-account.staging=\u8868\u793A\u662F\u5426\u5E94\u4F7F\u7528\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u7684\u5206\u9636\u6BB5 URL\u3002\u9ED8\u8BA4\u503C\u4E3A false\u3002\u8FD9\u4EC5\u5E94\u51FA\u4E8E\u6D4B\u8BD5\u76EE\u7684\u8BBE\u7F6E\u4E3A true\u3002\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u7EDD\u4E0D\u80FD\u8BBE\u7F6E\u4E3A true\u3002
elytron.certificate-authority-account.get-metadata=\u83B7\u53D6\u4E0E\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5173\u8054\u7684\u5143\u6570\u636E\u3002
elytron.certificate-authority-account.get-metadata.staging=\u8868\u793A\u662F\u5426\u5E94\u4F7F\u7528\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u7684\u5206\u9636\u6BB5 URL\u3002\u9ED8\u8BA4\u503C\u4E3A false\u3002\u8FD9\u4EC5\u5E94\u51FA\u4E8E\u6D4B\u8BD5\u76EE\u7684\u8BBE\u7F6E\u4E3A true\u3002\u5728\u751F\u4EA7\u73AF\u5883\u4E2D\u7EDD\u4E0D\u80FD\u8BBE\u7F6E\u4E3A true\u3002

# Configuration Attributes
elytron.certificate-authority-account.certificate-authority=\u8BC1\u4E66\u6388\u6743\u673A\u6784\u7684\u540D\u79F0\u3002
elytron.certificate-authority-account.contact-urls=\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u53EF\u5C31\u4E0E\u6B64\u5E10\u6237\u76F8\u5173\u7684\u4EFB\u4F55\u95EE\u9898\u8054\u7CFB\u7684 URL \u7684\u5217\u8868\u3002
elytron.certificate-authority-account.key-store=\u5305\u542B\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u5BC6\u94A5\u7684 keystore\u3002
elytron.certificate-authority-account.alias=keystore \u4E2D\u7684\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u5BC6\u94A5\u7684\u522B\u540D\u3002\u5982\u679C keystore \u4E2D\u4E0D\u5B58\u5728\u6B64\u522B\u540D\uFF0C\u5C06\u81EA\u52A8\u751F\u6210\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u5BC6\u94A5\u5E76\u5C06\u5176\u4F5C\u4E3A PrivateKeyEntry \u5B58\u50A8\u5728\u6B64\u522B\u540D\u4E0B\u3002
elytron.certificate-authority-account.credential-reference=\u8BBF\u95EE\u8BC1\u4E66\u9881\u53D1\u673A\u6784\u5E10\u6237\u5BC6\u94A5\u65F6\u4F7F\u7528\u7684\u51ED\u636E\u3002
elytron.certificate-authority-account.credential-reference.store=\u5B58\u6709\u51ED\u8BC1\u522B\u540D\u7684\u51ED\u8BC1\u5B58\u50A8\u7684\u540D\u79F0\u3002
elytron.certificate-authority-account.credential-reference.alias=\u8868\u793A\u5E93\u4E2D\u5B58\u50A8\u7684\u5BC6\u94A5\u6216\u51ED\u8BC1\u7684\u522B\u540D\u3002
elytron.certificate-authority-account.credential-reference.type=\u6B64\u5F15\u7528\u8868\u793A\u7684\u51ED\u8BC1\u7684\u7C7B\u578B\u3002
elytron.certificate-authority-account.credential-reference.clear-text=\u4F7F\u7528\u660E\u6587\u6307\u5B9A\u7684\u5BC6\u94A5\u3002\u68C0\u67E5\u51ED\u8BC1\u5B58\u50A8\u5411\u670D\u52A1\u63D0\u4F9B\u51ED\u8BC1/\u5BC6\u94A5\u7684\u65B9\u5F0F\u3002
elytron.server-ssl-sni-context=\u670D\u52A1\u5668\u7AEF\u7684 SNI Aware SSLContext\uFF0C\u5728\u4E00\u4E2A\u57FA\u4E8E\u63D0\u4F9B\u7684 SNI \u540D\u79F0\u7684\u5E95\u5C42\u4E0A\u4E0B\u6587\u95F4\u9009\u62E9
elytron.server-ssl-sni-context.add=\u6DFB\u52A0\u4E00\u4E2A SNI \u4E0A\u4E0B\u6587
elytron.server-ssl-sni-context.remove=\u5220\u9664\u4E00\u4E2A SNI \u4E0A\u4E0B\u6587
elytron.server-ssl-sni-context.default-ssl-context=\u5728\u6CA1\u6709 SNI \u4FE1\u606F\u6216\u5B83\u4E0D\u4E0E\u4EFB\u4F55\u6620\u5C04\u5339\u914D\u65F6\u4F7F\u7528\u7684\u4E0A\u4E0B\u6587
elytron.server-ssl-sni-context.host-context-map=\u4E00\u4E2A\u670D\u52A1\u5668\u540D\u548C\u4E00\u4E2A SSContext \u95F4\u7684\u6620\u5C04

#####################
# Credential Stores #
#####################

# Original credential-store
elytron.credential-store=\u4FDD\u5B58\u654F\u611F\u4FE1\u606F\uFF08\u5982\u5916\u90E8\u670D\u52A1\u7684\u5BC6\u7801\u7B49\uFF09\u522B\u540D\u7684\u51ED\u8BC1\u5B58\u50A8\u3002
elytron.credential-store.name=\u51ED\u8BC1\u5B58\u50A8\u7684\u540D\u79F0\u3002
elytron.credential-store.type=\u51ED\u8BC1\u5B58\u50A8\u7684\u7C7B\u578B\uFF0C\u4F8B\u5982 KeyStoreCredentialStore\u3002
elytron.credential-store.credential-reference=\u7528\u4E8E\u521B\u5EFA\u4FDD\u62A4\u53C2\u6570\u7684\u51ED\u8BC1\u5F15\u7528\u3002
elytron.credential-store.credential-reference.store=\u5B58\u6709\u51ED\u8BC1\u522B\u540D\u7684\u51ED\u8BC1\u5B58\u50A8\u7684\u540D\u79F0\u3002
elytron.credential-store.credential-reference.alias=\u8868\u793A\u5E93\u4E2D\u5B58\u50A8\u7684\u5BC6\u94A5\u6216\u51ED\u8BC1\u7684\u522B\u540D\u3002
elytron.credential-store.credential-reference.type=\u6B64\u5F15\u7528\u8868\u793A\u7684\u51ED\u8BC1\u7684\u7C7B\u578B\u3002
elytron.credential-store.credential-reference.clear-text=\u4F7F\u7528\u660E\u6587\u6307\u5B9A\u7684\u5BC6\u94A5\u3002\u68C0\u67E5\u51ED\u8BC1\u5B58\u50A8\u5411\u670D\u52A1\u63D0\u4F9B\u51ED\u8BC1/\u5BC6\u94A5\u7684\u65B9\u5F0F\u3002
elytron.credential-store.loaded-provider=\u5173\u4E8E\u52A0\u8F7D\u6B64\u51ED\u8BC1\u5B58\u50A8\u7C7B\u578B\u7684\u5B9E\u73B0\u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u4FE1\u606F\u3002
elytron.credential-store.loaded-provider.name=\u63D0\u4F9B\u7A0B\u5E8F\u52A0\u8F7D\u5668\u7684\u540D\u79F0\u3002
elytron.credential-store.loaded-provider.info=\u6709\u5173\u63D0\u4F9B\u7A0B\u5E8F\u52A0\u8F7D\u5668\u7684\u4FE1\u606F\u5B57\u7B26\u4E32\u3002
elytron.credential-store.loaded-provider.version=\u7528\u4E8E\u52A0\u8F7D\u51ED\u8BC1\u5B58\u50A8\u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u7248\u672C\u3002
elytron.credential-store.providers=\u5B50\u7CFB\u7EDF\u4E2D\u5B9A\u4E49\u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u540D\u79F0\uFF0C\u7528\u4E8E\u83B7\u53D6\u63D0\u4F9B\u7A0B\u5E8F\u4EE5\u641C\u7D22\u53EF\u4EE5\u521B\u5EFA\u6240\u9700 CredentialStore \u7C7B\u578B\u7684\u4E00\u9879\u3002\u5982\u679C\u672A\u6307\u5B9A\uFF0C\u5219\u4F7F\u7528\u5168\u5C40\u63D0\u4F9B\u7A0B\u5E8F\u5217\u8868\u6765\u4EE3\u66FF\u3002
elytron.credential-store.other-providers=\u5B50\u7CFB\u7EDF\u4E2D\u6307\u5B9A\u7684\u4F9B\u5E94\u5546\u7684\u540D\u79F0\uFF0C\u7528\u4E8E\u83B7\u53D6\u63D0\u4F9B\u7A0B\u5E8F\u4EE5\u641C\u7D22\u53EF\u4EE5\u5728\u51ED\u8BC1\u5B58\u50A8\u4E2D\u521B\u5EFA\u6240\u9700 Jakarta Connectors \u5BF9\u8C61\u7684\u4E00\u9879\u3002\u5B83\u53EA\u5BF9\u57FA\u4E8E\u5BC6\u94A5\u5B58\u50A8\u7684 CredentialStore \u6709\u6548\u3002\u5982\u679C\u672A\u6307\u5B9A\uFF0C\u5219\u4F7F\u7528\u5168\u5C40\u63D0\u4F9B\u7A0B\u5E8F\u5217\u8868\u6765\u4EE3\u66FF\u3002
elytron.credential-store.provider-name=\u7528\u4E8E\u5B9E\u4F8B\u5316 CredentialStoreSpi \u7684\u63D0\u4F9B\u7A0B\u5E8F\u7684\u540D\u79F0\u3002\u5982\u679C\u672A\u6307\u5B9A\u63D0\u4F9B\u7A0B\u5E8F\uFF0C\u5219\u4F1A\u4F7F\u7528\u53D1\u73B0\u7684\u7B2C\u4E00\u4E2A\u53EF\u4EE5\u521B\u5EFA\u6307\u5B9A 'type' \u5B9E\u4F8B\u7684\u63D0\u4F9B\u7A0B\u5E8F\u3002
elytron.credential-store.implementation-properties=\u51ED\u8BC1\u5B58\u50A8\u5B9E\u73B0\u7684\u7279\u5B9A\u5C5E\u6027\u7684\u6620\u5C04\u3002
elytron.credential-store.path=\u51ED\u8BC1\u5B58\u50A8\u7684\u6587\u4EF6\u540D\u3002
elytron.credential-store.location=\u51ED\u8BC1\u5B58\u50A8\u7684\u6587\u4EF6\u540D\u3002
elytron.credential-store.location.deprecated=\u4F7F\u7528 'path' \u5C5E\u6027\u66FF\u4EE3\u3002
elytron.credential-store.modifiable=\u6307\u5B9A\u51ED\u8BC1\u5B58\u50A8\u662F\u5426\u53EF\u4EE5\u4FEE\u6539\u3002
elytron.credential-store.create=\u6307\u660E\u51ED\u8BC1\u5B58\u50A8\u662F\u5426\u5E94\u5728\u5B58\u50A8\u4E0D\u5B58\u5728\u65F6\u521B\u5EFA\u5B58\u50A8\u3002
elytron.credential-store.relative-to=\u5BF9\u4E4B\u524D\u5B9A\u4E49\u7684\u6587\u4EF6\u540D\u79F0\u76F8\u5BF9\u7684\u8DEF\u5F84\u7684\u5F15\u7528\u3002
elytron.credential-store.add=\u5728\u914D\u7F6E\u4E2D\u6DFB\u52A0\u53E6\u4E00\u4E2A\u51ED\u8BC1\u5B58\u50A8\u3002
elytron.credential-store.remove=\u4ECE\u914D\u7F6E\u4E2D\u5220\u9664\u51ED\u8BC1\u5B58\u50A8\u3002
elytron.credential-store.reload=\u91CD\u65B0\u52A0\u8F7D\u51ED\u8BC1\u5B58\u50A8\uFF08\u5982\u679C\u5B58\u5728\uFF0C\u5219\u91CD\u65B0\u521D\u59CB\u5316\u548C\u52A0\u8F7D\u65B0\u6570\u636E\uFF09\u3002
elytron.credential-store.state=\u5728\u8FD0\u884C\u65F6\u8868\u793A\u6B64\u51ED\u8BC1\u5B58\u50A8\u7684\u5E95\u5C42\u670D\u52A1\u7684\u72B6\u6001\u3002

# secret-key-credential-store
elytron.secret-key-credential-store=\u660E\u786E\u7BA1\u7406 secret \u5BC6\u94A5\u5B58\u50A8\u7684\u7B80\u5355\u51ED\u8BC1\u5B58\u50A8\u3002
# Attributes
elytron.secret-key-credential-store.relative-to=\u5BF9\u4E4B\u524D\u5B9A\u4E49\u7684\u8DEF\u5F84\u76F8\u5BF9\u7684\u8DEF\u5F84\u7684\u5F15\u7528\u3002
elytron.secret-key-credential-store.path=\u5230\u51ED\u8BC1\u5B58\u50A8\u7684\u8DEF\u5F84\u3002
elytron.secret-key-credential-store.create=\u5982\u679C\u51ED\u8BC1\u5B58\u50A8\u4E0D\u5B58\u5728\uFF0C\u662F\u5426\u5E94\u8BE5\u52A8\u6001\u521B\u5EFA\u5B83\uFF1F
elytron.secret-key-credential-store.populate=\u5982\u679C\u51ED\u8BC1\u5B58\u50A8\u4E0D\u5305\u542B\u9ED8\u8BA4\u522B\u540D\uFF0C\u662F\u5426\u5E94\u8BE5\u52A8\u6001\u6DFB\u52A0\u5B83\uFF1F
elytron.secret-key-credential-store.key-size=\u4EFB\u4F55\u751F\u6210\u7684\u5BC6\u94A5\u7684\u9ED8\u8BA4\u5927\u5C0F\u3002
elytron.secret-key-credential-store.default-alias=\u4EFB\u4F55\u751F\u6210\u7684\u5BC6\u94A5\u7684\u9ED8\u8BA4\u522B\u540D\u3002
elytron.secret-key-credential-store.state=\u51ED\u8BC1\u5B58\u50A8\u670D\u52A1\u7684\u72B6\u6001\u3002
# Operations
elytron.secret-key-credential-store.add=\u51ED\u8BC1\u5B58\u50A8\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.secret-key-credential-store.remove=\u51ED\u8BC1\u5B58\u50A8\u7684\u5220\u9664\u64CD\u4F5C\u3002

# Operations For Credential Stores
elytron.credential-store.operations.add-alias=\u5411\u51ED\u8BC1\u5B58\u50A8\u5E93\u6DFB\u52A0\u4E00\u4E2A\u522B\u540D\u3002
elytron.credential-store.operations.add-alias.alias=\u8981\u6DFB\u52A0\u7684\u51ED\u8BC1\u5B58\u50A8\u9879\u76EE\u7684\u522B\u540D\u3002
elytron.credential-store.operations.add-alias.entry-type=\u51ED\u8BC1\u5B58\u50A8\u4E2D\u5B58\u50A8\u7684\u51ED\u8BC1\uFF08\u6761\u76EE\uFF09\u7684\u7C7B\u578B\u3002
elytron.credential-store.operations.add-alias.secret-value=\u5BC6\u94A5\u503C\uFF0C\u4F8B\u5982\u5BC6\u7801\u3002
elytron.credential-store.operations.reload=\u91CD\u65B0\u52A0\u8F7D\u51ED\u8BC1\u5B58\u50A8\uFF08\u5982\u679C\u5B58\u5728\uFF0C\u5219\u91CD\u65B0\u521D\u59CB\u5316\u548C\u52A0\u8F7D\u65B0\u6570\u636E\uFF09\u3002
elytron.credential-store.operations.read-aliases=\u4ECE\u51ED\u8BC1\u5B58\u50A8\u8BFB\u53D6\u522B\u540D\uFF08\u6761\u76EE\uFF09\u3002
elytron.credential-store.operations.remove-alias=\u5220\u9664\u51ED\u8BC1\u5B58\u50A8\u4E2D\u5B58\u50A8\u7684\u51ED\u8BC1\uFF08\u6761\u76EE\uFF09\u3002
elytron.credential-store.operations.remove-alias.alias=\u8981\u5220\u9664\u7684\u51ED\u8BC1\u5B58\u50A8\u9879\u76EE\u7684\u522B\u540D\u3002
elytron.credential-store.operations.remove-alias.entry-type=\u8981\u5220\u9664\u7684\u51ED\u8BC1\u7C7B\u578B\u3002
elytron.credential-store.operations.set-secret=\u4E3A\u50A8\u5B58\u5728\u51ED\u8BC1\u5B58\u50A8\u4E2D\u7684\u51ED\u8BC1\uFF08\u6761\u76EE\uFF09\u8BBE\u7F6E\u5BC6\u94A5\u503C\u3002
elytron.credential-store.operations.set-secret.alias=\u8981\u8BBE\u7F6E\u7684\u51ED\u8BC1\u5B58\u50A8\u9879\u76EE\u7684\u522B\u540D\u3002
elytron.credential-store.operations.set-secret.entry-type=\u51ED\u8BC1\u5B58\u50A8\u4E2D\u5B58\u50A8\u7684\u51ED\u8BC1\uFF08\u6761\u76EE\uFF09\u7684\u7C7B\u578B\u3002
elytron.credential-store.operations.set-secret.secret-value=\u5BC6\u94A5\u503C\uFF0C\u4F8B\u5982\u5BC6\u7801\u3002
elytron.credential-store.operations.generate-secret-key=\u751F\u6210\u4E00\u4E2A\u65B0\u7684 SecretKey\uFF0C\u5E76\u5C06\u5176\u5B58\u50A8\u5728\u51ED\u8BC1\u5B58\u50A8\u4E2D\u3002
elytron.credential-store.operations.generate-secret-key.alias=\u5728\u5B58\u50A8\u65B0 SecretKey \u65F6\u8981\u4F7F\u7528\u7684\u522B\u540D\u3002
elytron.credential-store.operations.generate-secret-key.key-size=\u8981\u751F\u6210\u7684\u5BC6\u94A5\u7684\u5927\u5C0F\uFF08bit\uFF09\u3002
elytron.credential-store.operations.export-secret-key=\u5BFC\u51FA\u4E00\u4E2A\u73B0\u6709\u7684 SecretKey\u3002
elytron.credential-store.operations.export-secret-key.alias=\u8981\u5BFC\u51FA\u7684 SecretKey \u7684\u522B\u540D\u3002
elytron.credential-store.operations.import-secret-key=\u5BFC\u5165\u4E00\u4E2A\u4E4B\u524D\u5BFC\u51FA\u7684 SecretKey\uFF0C\u5E76\u5C06\u5176\u6DFB\u52A0\u5230\u51ED\u8BC1\u5B58\u50A8\u4E2D\u3002
elytron.credential-store.operations.import-secret-key.alias=\u5B58\u50A8\u5BFC\u5165\u7684 SecretKey \u65F6\u8981\u4F7F\u7528\u7684\u522B\u540D\u3002
elytron.credential-store.operations.import-secret-key.key=\u5BFC\u5165\u4E4B\u524D\u5BFC\u51FA\u7684\u5BC6\u94A5\u3002


##############
# DirContext #
##############
elytron.dir-context=\u8FDE\u63A5\u76EE\u5F55 (LDAP) \u670D\u52A1\u5668\u7684\u914D\u7F6E\u3002
elytron.dir-context.add=\u6DFB\u52A0 DirContext \u5B9A\u4E49\u3002
elytron.dir-context.remove=\u5220\u9664 DirContext \u5B9A\u4E49\u3002
elytron.dir-context.url=\u8FDE\u63A5 url\u3002
elytron.dir-context.authentication-level=\u8981\u4F7F\u7528\u7684\u9A8C\u8BC1\u7EA7\u522B\uFF08\u5B89\u5168\u7EA7\u522B/\u9A8C\u8BC1\u673A\u5236\uFF09\u3002\u4E0E SECURITY_AUTHENTICATION (\u2018java.naming.security.authentication\u2019) \u73AF\u5883\u5C5E\u6027\u5BF9\u5E94\u3002\u5141\u8BB8\u7684\u503C\uFF1A\u2019none\u2019\u3001\u2019simple\u2019\u3001sasl_mech\uFF0C\u5176\u4E2D sasl_mech \u662F\u4EE5\u7A7A\u683C\u9694\u5F00\u7684 SASL \u673A\u5236\u540D\u79F0\u5217\u8868\u3002
elytron.dir-context.authentication-context=\u7528\u4E8E\u83B7\u53D6\u8FDE\u63A5 LDAP \u670D\u52A1\u5668\u7684\u767B\u5F55\u51ED\u8BC1\u7684\u9A8C\u8BC1\u4E0A\u4E0B\u6587\u3002\u5982\u679C\u9A8C\u8BC1\u7EA7\u522B\u4E3A 'none'\uFF08\u533F\u540D\uFF09\uFF0C\u5219\u53EF\u4EE5\u5FFD\u7565\u3002
elytron.dir-context.principal=\u7528\u4E8E\u9A8C\u8BC1\u548C\u8FDE\u63A5 LDAP \u670D\u52A1\u5668\u7684\u4E3B\u4F53\u3002\u5982\u679C\u9A8C\u8BC1\u7EA7\u522B\u4E3A 'none'\uFF08\u533F\u540D\uFF09\uFF0C\u5219\u53EF\u4EE5\u5FFD\u7565\u3002
elytron.dir-context.credential-reference=\u7528\u4E8E\u9A8C\u8BC1\u548C\u8FDE\u63A5 LDAP \u670D\u52A1\u5668\u7684\u51ED\u8BC1\u5F15\u7528\u3002\u5982\u679C\u9A8C\u8BC1\u7EA7\u522B\u4E3A 'none'\uFF08\u533F\u540D\uFF09\uFF0C\u5219\u53EF\u4EE5\u5FFD\u7565\u3002
elytron.dir-context.credential-reference.store=\u5B58\u6709\u51ED\u8BC1\u522B\u540D\u7684\u51ED\u8BC1\u5B58\u50A8\u7684\u540D\u79F0\u3002
elytron.dir-context.credential-reference.alias=\u8868\u793A\u5E93\u4E2D\u5B58\u50A8\u7684\u5BC6\u94A5\u6216\u51ED\u8BC1\u7684\u522B\u540D\u3002
elytron.dir-context.credential-reference.type=\u6B64\u5F15\u7528\u8868\u793A\u7684\u51ED\u8BC1\u7684\u7C7B\u578B\u3002
elytron.dir-context.credential-reference.clear-text=\u4F7F\u7528\u660E\u6587\u6307\u5B9A\u7684\u5BC6\u94A5\u3002\u68C0\u67E5\u51ED\u8BC1\u5B58\u50A8\u5411\u670D\u52A1\u63D0\u4F9B\u51ED\u8BC1/\u5BC6\u94A5\u7684\u65B9\u5F0F\u3002
elytron.dir-context.enable-connection-pooling=\u6307\u793A\u662F\u5426\u5DF2\u542F\u7528\u8FDE\u63A5\u6C60\u3002
elytron.dir-context.module=\u5C06\u88AB\u7528\u4F5C\u7C7B\u52A0\u8F7D\u57FA\u7840\u7684\u6A21\u5757\u7684\u540D\u79F0\u3002
elytron.dir-context.referral-mode=\u662F\u5426\u5E94\u9075\u5FAA\u63A8\u8350\u3002
elytron.dir-context.ssl-context=\u7528\u4E8E\u5B89\u5168\u8FDE\u63A5 LDAP \u670D\u52A1\u5668\u7684 ssl-context \u7684\u540D\u79F0\u3002
elytron.dir-context.connection-timeout=\u8FDE\u63A5 LDAP \u670D\u52A1\u5668\u7684\u8D85\u65F6\uFF08\u6BEB\u79D2\uFF09\u3002
elytron.dir-context.read-timeout=LDAP \u64CD\u4F5C\u7684\u8BFB\u8D85\u65F6\uFF08\u6BEB\u79D2\uFF09\u3002
elytron.dir-context.properties=DirContext \u7684\u9644\u52A0\u8FDE\u63A5\u5C5E\u6027\u3002

#######################
# Policies #
#######################

elytron.policy=\u8BBE\u7F6E\u7B56\u7565\u63D0\u4F9B\u7A0B\u5E8F\u7684\u5B9A\u4E49\u3002
# Operations
elytron.policy.add=\u7528\u4E8E\u6DFB\u52A0\u7B56\u7565\u63D0\u4F9B\u7A0B\u5E8F\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.policy.remove=\u7528\u4E8E\u5220\u9664\u7B56\u7565\u63D0\u4F9B\u7A0B\u5E8F\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.policy.default-policy=\u6CA1\u6709\u4F7F\u7528\u3002
elytron.policy.default-policy.deprecated='default-policy' \u5C5E\u6027\u88AB\u5FFD\u7565\uFF0C\u56E0\u4E3A\u4E00\u4E2A\u7B56\u7565\u8D44\u6E90\u5E94\u8BE5\u53EA\u4E0E\u4E00\u4E2A\u7B56\u7565\u8FDB\u884C\u914D\u7F6E\u3002

# Jakarta Authorization
elytron.policy.jacc-policy=\u8BBE\u7F6E Jakarta \u6388\u6743\u548C\u76F8\u5173\u670D\u52A1\u7684\u7B56\u7565\u63D0\u4F9B\u8005\u5B9A\u4E49\u3002
# Attributes
elytron.policy.jacc-policy.name=\u6B64\u63D0\u4F9B\u7A0B\u5E8F\u7684\u540D\u79F0\u3002
elytron.policy.jacc-policy.policy=\u5F15\u7528\u7B56\u7565\u63D0\u4F9B\u7A0B\u5E8F\u7684 java.security.Policy \u5B9E\u73B0\u7684\u540D\u79F0\u3002
elytron.policy.jacc-policy.configuration-factory=\u5F15\u7528\u7B56\u7565\u914D\u7F6E\u5DE5\u5382\u63D0\u4F9B\u7A0B\u5E8F\u7684 javax.security.jacc.PolicyConfigurationFactory \u5B9E\u73B0\u7684\u540D\u79F0\u3002
elytron.policy.jacc-policy.module=\u4ECE\u4E2D\u52A0\u8F7D\u63D0\u4F9B\u7A0B\u5E8F\u7684\u6A21\u5757\u7684\u540D\u79F0\u3002

# Custom
elytron.policy.custom-policy=\u4E00\u4E2A\u81EA\u5B9A\u4E49\u7B56\u7565\u63D0\u4F9B\u7A0B\u5E8F\u5B9A\u4E49\u3002
# Operations
elytron.policy.custom-policy.add=\u7528\u4E8E\u6DFB\u52A0\u81EA\u5B9A\u4E49\u63D0\u4F9B\u7A0B\u5E8F\u7684\u6DFB\u52A0\u64CD\u4F5C\u3002
elytron.policy.custom-policy.remove=\u7528\u4E8E\u5220\u9664\u81EA\u5B9A\u4E49\u63D0\u4F9B\u7A0B\u5E8F\u7684\u5220\u9664\u64CD\u4F5C\u3002
# Attributes
elytron.policy.custom-policy.name=\u6B64\u63D0\u4F9B\u7A0B\u5E8F\u7684\u540D\u79F0
elytron.policy.custom-policy.class-name=\u5F15\u7528\u7B56\u7565\u63D0\u4F9B\u7A0B\u5E8F\u7684 java.security.Policy \u5B9E\u73B0\u7684\u540D\u79F0\u3002
elytron.policy.custom-policy.module=\u4ECE\u4E2D\u52A0\u8F7D\u63D0\u4F9B\u7A0B\u5E8F\u7684\u6A21\u5757\u7684\u540D\u79F0\u3002

