# File containing internal localization messages used by 
# log comments, approval notifications and some exceptions in CESeCore.
#
# The keys should be sections into which module the message
# originates from, example raadmin.msg1 or keyrecovery.testmessage
#
# ENGLISH VERSION

# Native encoding:  ISO-8859-1
# EJBCA supported:  6.x
# Modified date:    $Id: intresources.en.properties 29359 2018-06-26 13:55:38Z mikekushner $
# 
# Contributors:
#   PrimeKey Solutions <info@primekey.com>


# Test resources - Only used with the test script
raadmin.testmsg       = Test en-US                        
raadmin.testparams    = Test {0} {1} {2} {3} {4} message {0} 

# Database protection resources
databaseprotection.errorverify = "Row protection is wrong, the data '{0}' can not be verified by '{1}'. Class {2}, rowId {3}."
databaseprotection.notokenwithid = No database protection token with id {0}.

# Backup resources
backup.notauthorized = Administrator '{0}' is not authorized to perform backup.
restore.notauthorized = Administrator '{0}' is not authorized to perform restore.

# CA administration resources
caadmin.addedca = CA with id {0} and name {1} added, status: {2}. 
caadmin.editedca = CA with id {0} and name {1} edited.
caadmin.removedca = CA with id {0} and name {1} removed.
caadmin.renamedca = CA with name {0}, and id {1}, renamed to {2}.
caadmin.updatedcaid = References to CA id {0} were updated to id {1} and Subject DN '{2}'.
caadmin.caexistsname = CA with name {0} already exists.
caadmin.caexistsid = CA with id {0} already exists.
caadmin.canotexistsid = CA with id {0} does not exist.
caadmin.canotexistsname = CA with name {0} does not exist.
caadmin.notauthorizedtoca = Administrator '{0}' not authorized to CA {1}.
caadmin.notauthorizedtoaddca = Administrator '{0}' not authorized to add CA {1}.
caadmin.notauthorizedtoeditca = Administrator '{0}' not authorized to edit CA {1}.
caadmin.notauthorizedtoremoveca = Administrator '{0}' is not authorized to remove CA with id {1}.
caadmin.notauthorizedtorenameca = Administrator '{0}' is not authorized to rename CA with id {1}.
caadmin.caexpired = CA {0} has expired.
caadmin.canotyetvalid = CA {0} is not yet valid.

# Authentication resources
authentication.failed = Authentication failed. Further information: {0}

# Authorization resources
authorization.roleadded = Role {0} added.
authorization.erroraddroleexists = Error adding role {0}, role already exists.
authorization.errorrolenotexists = A role by the name of {0} does not exist.
authorization.errorroleexists = A role by the name of {0} already exists.
authorization.roleremoved = Role {0} removed.
authorization.rolerenamed = Role renamed from {0} to {1}.
authorization.accessrulesadded = Added the following access rules to role {0}: {1}
authorization.accessruleschanged = Changed the following rules in role {0}: {1}
authorization.accessrulesremoved = Removed the following access rules from role {0}: {1}
authorization.adminadded = Added administrator aspect(s) {0} to role {1}.
authorization.adminchanged = Modified administrator aspect(s) {0} in role {1}.
authorization.adminremoved = Removed administrator aspect(s) {0} from role {1}.
authorization.errorcreateauthtree = Error creating AuthorizationTreeUpdateDataBean.
authorization.notauthorizedtoeditroles = Administrator {0} not authorized to edit roles.
authorization.notauthorizedtoviewroles = Administrator {0} not authorized to view roles.
authorization.notauthorizedtoeditrole = Administrator {0} not authorized to edit role {1}.
authorization.notauthorizedtoresource = Administrator is not authorized to resource {0}. Msg: {1}.
authorization.notauthorizedtoapprovalrequest = Administrator {0} is not authorized to the approval request with ID {1} according to the approval profile with ID {2}.

# Certificate creation resources
createcert.popverificationfailed = POPO verification failed.
createcert.nokeyinrequest = No public key in request.
createcert.canotfoundissuerusername = Can not find CA Id from issuerDN '{0}' or username '{1}'.
createcert.canotactive = Signing CA '{0}' is not active.
createcert.usertypeinvalid = User type is USER_INVALID, cannot create certificate for user '{0}'.
createcert.key_exists_for_another_user = User '{0}' is not allowed to use same key as another user is using.
createcert.subjectdn_exists_for_another_user = User '{0}' is not allowed to use same subject DN as the user(s) {1} is/are using while issued by the same CA (even if CN postfix is used). See setting for 'Enforce unique DN' in the section Certification Authorities.
createcert.not_unique_certserialnumberindex = Custom certificate serial number not allowed since there is no unique index on (issuerDN,serialNumber) on the 'CertificateData' table.
createcert.certprof_not_allowing_cert_sn_override = Used certificate profile ('{0}') is not allowing certificate serial number override.
createcert.cert_serial_number_already_in_database = There is already a certificate stored in 'CertificateData' with the serial number '{0}'.
createcert.certprof_not_allowing_cert_sn_override_using_normal = Custom serial number ('{0}') not allowed by certificate profile, using normal serial number.
createcert.errorcertprofilenotfound = Certificate Profile ({0}) can not be found.
createcert.errorcertprofiletype = Wrong type of Certificate Profile ({0}) for end entity. Only End Entity Certificate Profiles can be issued by signsession bean.
createcert.errorcertprofilenotauthorized = End Entity data contains a CA, {0}, which the Certificate Profile, {1}, isn't authorized to use.
createcert.unsupportedkeytype = Unsupported public key ({0}), only RSA and ECDSA keys are supported.
createcert.illegalkeylength = Illegal key length, not authorized by certificate profile: {0}.
createcert.illegalkeyalgorithm = Illegal key algorithm, not authorized by certificate profile: {0}.
createcert.notauthorized = Admin '{0}' is not authorized to create certificate from CA {1}.
createcert.errorbeyondmaxvalidity = notAfter from request ({0}) for user '{1}' is longer than maximum specified in certificate profile ({2}), not allowed, using notAfter from certificate profile.
createcert.limitingvalidity = Limiting validity of certificate because requested validity ({0}) is beyond CA validity ({1}).
createcert.limitingvaliditystart = Limiting validity of certificate because requested start of validity ({0}) is before CA start of validity ({1}).
createcert.errorinvalidcausality = Start date ({0}) is after end date ({1}). Trying to recover by swapping the dates.
createcert.errorinvalidstarttime = Ignoring invalid start time format ({0}).
createcert.errorbeforecurrentdate = notBefore from request ({0}) for user '{1}' pre-dates current time, not allowed, using current time instead.
createcert.errorbeyondtoolateexpiredate = Requested expire date is not before the configured 'ca.toolateexpiredate'. Certificate expire date '{0}'. ca.toolateexpiredate '{1}'.
createcert.invalidsignaturealg = Signature algorithm {0} is not one of the allowed signature algorithms. Available algorithms: {1}.
createcert.illegalname = Requested subject DN is illegal. Illegal name is only visible in trace log.
createcert.errorpathverifykeyid = AuthorityKeyId of issued certificate ({0}) does not match SubjectKeyId of CA-certificate ({1}).
createcert.errorpathverifydn = Issuer DN of issued certificate ({0}) does not match Subject DN of CA-certificate ({1}).
createcert.privatekeyusagenotvalid = PrivateKeyUsagePeriod.notBefore is not valid until {0} for CA with subjectDN '{1}'.
createcert.privatekeyusageexpired = PrivateKeyUsagePeriod.notAfter expired at {0} for CA with subjectDN '{1}'.
createcert.ctlogsubmissionsuccessful = Successfully Submitted CT pre-certificate to CT logs.
createcert.ctlogsubmissionfailed = Failed to submit pre-certificate to the required number of CT logs. The pre-certificate may have been published in some of the logs, though.

# CRL creation resources
createcrl.createdcrl = Created CRL with number {0} for CA '{1}' with DN '{2}'.
createcrl.errorcreate = Error creating CRL for CA {0}, message: {1}.
createcrl.caoffline = CA {0}, {1} is off-line. CRL can not be created.
createcrl.errornotactive = CA {0}, {1} is not active. CRL can not be created. Status is {2}.
createcrl.catokenoffline = CA token for CA {0}, {1} is off-line. CRL can not be created.
createcrl.crlinfonull = Crlinfo is null for CA {0}, so we use 0 as nextUpdate.
createcrl.generalerror = Error generating CRL for CA {0}.
createcrl.erroravailcas = Error getting available CAs.
createcrl.notauthorized = Admin '{0}' is not authorized to create CRL for CA {1}.
createcrl.nocrlcreate = No CRL is created for a {0} CA.

# Store resources
store.storecert = Certificate stored for username '{0}', fp={1}, subjectDN '{2}', issuerDN '{3}', serialNo={4}.
store.revokedcert = Revoked certificate for username '{0}', fp={1}, revocationReason={2}, subjectDN '{3}', issuerDN '{4}', serialNo={5}.
store.unrevokedcert = Activated certificate on hold for username '{0}', fp={1}, revocationReason={2}, subjectDN '{3}', issuerDN '{4}', serialNo={5}.
store.ignorerevoke = Ignored setRevokeStatus() request serialNo {0}. Current certificate status {1}. Revocation reason {2}.
store.revokedallbyca = Revoked All CAs certificates from issuer '{0}' successfully. Permanently revoked {1} certificates with reason {2}.
store.errorrevokeallbyca = Error when trying to revoke a CA's all certificates by issuer '{0}'.
store.errorfindcertfp  = Could not find certificate with fingerprint {0} and serno {1}.
store.errorfindcertserno = Could not find certificate with serno {0}.
store.errorsetstatusargument = Set status can not be called with status REVOKED or ACTIVE, use setRevokeStatus instead. Requested fingerprint={0}, status={1}.
store.setstatus = Set status on certificate for username '{0}', fp={1}, status={2}, subjectDN '{3}', issuerDN '{4}', serialNo={5}.
store.setstatusfailed = Trying to set status {0} for certificate with fingerprint {1}, that does not exist.
store.storecrl = Stored CRL with CRLNumber={0}, fingerprint={1}, issuerDN '{2}'.
store.errorstorecrl = Error storing CRL with CRLNumber={0}, issuerDN '{1}'.  
store.errorstorecrlwrongnumber = Trying to store CRL with number {0}, but a CRL with number {1} already exists for issuerDN '{2}'.
store.getcrl = Retrieved CRL from issuer '{0}', with CRL number {1}.
store.errorgetcrl = Error retrieving CRL for issuer '{0}' with CRL number {1}.
store.errorgetcrlinfo = Error retrieving CRL info for issuer '{0}'.
store.removedcrl = Removed CRL with fingerprint={0} and CRLNumber {1} for issuerDN '{2}'.
store.errorstorecert = Error storing certificate.
store.errorcertinfo = Error finding certificate with fingerprint {0}.
store.errorfindcertuser = Could not find certificate with username {0}.
store.errorseveralissuerserno = Possible error in database, more than one certificate has the same issuer '{0}', and serialnumber {1}, is it CVC certificates?
store.errorcertprofilefixed = Error processing certificaterprofile {0}, name of fixed profile.
store.errorcertprofileexists = Certificate profile {0} already exists.
store.errorcertprofilenotexist = Certificate profile {0} does not exist.
store.addedcertprofile = New certificate profile {0} added successfully.
store.editcertprofilenotauthorized = Admin '{0}' is not authorized to edit certificate profile {1}.
store.errorcreatecertprofile = Error when creating new certificateprofile {0}.
store.erroraddprofilewithtempl = Error adding certificaterprofile {0} using profile {1} as template.
store.addedprofilewithtempl = New certificateprofile {0} added using profile {1} as template.
store.removedprofile = Removed profile {0}.
store.errorremoveprofile = Error removing certificateprofile {0}.
store.renamedprofile = Renamed certificateprofile {0} to {1}.
store.errorrenameprofile = Error removing certificateprofile {0} to {1}.
store.editedprofile = Edited certificateprofile {0}.
store.erroreditprofile = Error editing certificateprofile {0}.
store.editapprovalprofilenotauthorized = Admin '{0}' is not authorized to edit approval profiles.

endentity.extendedinfoupgrade = Upgrading extended information with version {0}.

# Miscellaneous resources
sernogenerator.discarding = Discarding serial number out of range.

# Crypto and CA tokens in CESeCore
token.createdtoken = Created Crypto Token with classname {0} and ID {1}.
token.extractablekey = HW key must not be extractable. You can set ca.doPermitExtractablePrivateKeys=true in ejbca.properties to allow extractable keys. ca.doPermitExtractablePrivateKeys={0}.
token.noprivate = Can not read private key with alias '{0}' from Crypto Token, got null. If the key was generated after the latest application server start then restart the application server.
token.nopublic = Can not read public key certificate with alias '{0}' from Crypto Token, got null. If the key of the certificate was generated after the latest application server start then restart the application server.
token.nopinencrypt = Failed to encrypt auto activation pin, using non-encrypted instead:
token.jceinitfail = Failed to initialize JCE provider. Encryption operations may not work but we are continuing...
token.errornosuchkey = No key with alias '{0}'.
token.inforegisterclasspath = Can not register {0}. This is normally not an error.
token.classnotfound = Class not found: {0}.
token.errorinstansiate = Can not instantiate {0}. {1}.
token.deactivate = De-activated Crypto Token with ID {0}.
token.activated = Activated Crypto Token with ID {0}.
token.erroractivate = Error activating Crypto Token with ID {0}. {1}
token.wrongauthcode = Invalid authentication code for Crypto Token with ID {0}.
token.errorcreatetoken = Error when creating Crypto Token with ID {0}.
token.deleteentry = Deleted entry with alias '{0}' from Crypto Token with ID {1}.
token.errorcertreqverify = Certificate request is not verifying.
token.errorkeynottoken = Key with public key hash {0} not on token.
token.errornokeyalias = Key alias '{0}' not found in keystore.
token.errornocertalias = Certificate alias '{0}' not found in keystore.
token.authcodemissing = An authentication code must be provided. Generating or activating new keys requires either password as argument or autoActivation enabled. CA with ID {0}.
token.activationtestfail = Error testing activation for Crypto Token with ID {0}.
token.upgrade = Upgrading Crypto Token with version {0}.
token.generatedkeypair = Generated new key pair with spec {0} and alias '{1}' for Crypto Token with ID {2}.
token.generatedsymkey = Generated new symmetric key with algorithm {0}, size {1} and alias '{2}' for Crypto Token with ID {3}.
token.errornotextractable = Crypto Token does not allow to extract private keys. Requested private key alias {0} and encryption key alias {1}.
token.errornotextractable_allkeys = Crypto Token {0} does not allow to extract private keys.
token.nameisinuse = The name '{0}' is already in use by another Crypto Token.

# CA token resources
catoken.generatedkeys = Generated new keys for CA with ID {0}, renew={1}, activate={2}.
catoken.activatednextkey = Activated next signing key for Crypto Token with ID {0}.
catoken.setproperty = Set CA token property for CA with ID {0}, key={1}, value={2}.
catoken.invalidkeylength = {0} keys of smaller size than {1} is not allowed for a CA. Requested length was {2}.

# InternalKeyBinding resources
internalkeybinding.nameisinuse = The name '{0}' is already in use by another Internal Key Binding.

# OCSP resources
ocsp.additionaldata = The encoded OCSP requests was '{0}' bytes, but the HTTP Content-length was '{1}' bytes. The OCSP client might be broken or trying to send you too much data on purpose.
ocsp.badurlenc = Bad URL encoding in request.
ocsp.certcollectionempty = The passed certificate collection is empty.
ocsp.classnotfound = Class {0} could not be loaded.
ocsp.emptyreq = No request bytes from IP {0}.
ocsp.errorcerthasexpired = The certificate with serial number '{0}' issued by the CA '{1}' has expired.
ocsp.errorcomparehash = OCSPException comparing certificate hashes, skipping cacert for '{0}'.
ocsp.errordatabaseunid = Got a database error when looking up databasource for Unid-Fnr mapping.
ocsp.errorfindcert = = Unable to find certificate with serial number {0} by issuer: {1},
ocsp.errorfindcacert = Unable to find CA certificate by issuer name hash: {0}, or even the default responder: {1}.
ocsp.errorfindcacertusedefault = Unable to find CA certificate by issuer name hash: {0}, using the default responder to send 'UnknownStatus'.
ocsp.errorgencerthash = Unable to generate CA certificate hash.
ocsp.errorgetalias = Unable to get alias {0} in file {1}.
ocsp.errorinitialize = Unable to initialize OCSPServlet.
ocsp.errorinvalidsignature = Signature of incoming OCSPRequest is invalid. Signed by '{0}'.
ocsp.errorloadsigningcerts = Not possible to load signing certificates.
ocsp.errornocacreateresp = Unable to find CA certificate and key to generate OCSP response.
ocsp.errornoclientauth = Got request without client authentication from (ip;fqdn): {0};{1}.
ocsp.errornoinitparam = {0} init-parameter must be set.
ocsp.errornoreqentities = The OCSP request does not contain any simpleRequest entities.
ocsp.errornosignkeys = No valid signing keys are available at this time.
ocsp.errornotrustfiles = No files in trustDir directory: {0}.
ocsp.errornotyetvalid = The certificate with serial number '{0}' issued by the CA '{1}' is not yet valid.
ocsp.errornovalidkeys = No valid keys specified.
ocsp.errorocspkeynotusable = OCSP signing key not usable for CA '{0}'. Key certificate with serial number: {1}.
ocsp.errorprocessextension = An error occurred when processing OCSP extensions class: {0}, error code={1}.
ocsp.errorprocessreq = Error processing OCSP request. Message: {0}
ocsp.errorreadingfile = Error reading {0} from {1}: {2}.
ocsp.errorreadingtrustfiles = Error reading files from trustDir: {0}.
ocsp.errortoomanyreqentities = The OCSP request contains too many simpleRequest entities. Max {0} allowed.
ocsp.errorunidnosnindn = Did not find a serialNumber in DN: {0}.
ocsp.errorunidnosnmapping = No Fnr mapping exists for UNID {0}.
ocsp.errorunsignedreq = OCSP request from ip {0} is unsigned. Service enforces signing.
ocsp.erroruntrustedclientauth = Got request with untrusted client cert from (ip;fqdn): {0};{1}.
ocsp.errorverifycert = Error when trying to verify client certificate.
ocsp.infoaddedstatusinfo = Adding status information ({0}) for certificate with serial '{1}' from issuer '{2}'.
ocsp.inforeceivedrequest = Received OCSP request for certificate with serNo: {0}, and issuerNameHash: {1}. Client ip {2}.
ocsp.inforeceivedrequestwxff = Received OCSP request for certificate with serNo: {0}, and issuerNameHash: {1}. Client ip {2}. X-Forwarded-For: {3}.
ocsp.infosigner = OCSPRequest was signed by '{0}'.
ocsp.infosigner.certexpired = Signature certificate is expired for (subjectDN '{0}', issuer DN '{1}') failed. Message\: {2}.
ocsp.infosigner.certnotyetvalid = Signature certificate is not yet valid for (subjectDN '{0}', issuer DN '{1}') failed. Message\: {2}.
ocsp.infosigner.invalidcertsignature = Signer certificate verification for (subjectDN '{0}', issuer DN '{1}') failed. Message\: {2}.
ocsp.infosigner.nocacert = No matching issuer certificate found for signer certificate with subjectDN '{0}' and issuerDN '{1}'.
ocsp.infosigner.notallowed = Signer certificate for '{0}' is not authorized due to signer or issuer restrictions. IssuerDN '{1}', serialNo {2}.
ocsp.infosigner.revoked = Signer certificate for '{0}' is revoked. IssuerDN '{1}', serialNo {2}.
ocsp.missingreq = Request is missing last part of URL defined in RFC 2560 A.1.1.
ocsp.newsigningkey = New OCSP signing key for CA '{0}'. Key cert '{1}'.
ocsp.nocardpwd = No card password specified.
ocsp.nohwsigningclass = No HW OCSP signing class defined.
ocsp.nomatchingcacert = Did not find matching CA-cert for DN: {0}.
ocsp.receivedunidreq = Got request (ip;fqdn): {0}; {1} for Fnr mapping to Unid={2}.
ocsp.rekey.cryptotoken.notactivated = CryptoToken has not been activated. Called from: {0}
ocsp.rekey.failed.unknown.reason = Rekeying failed for target {0} for an unknown reason (see stacktrace): {1}
ocsp.rekey.invalid.key = Can't perform rekeying operation on invalid key. Called from: {0}
ocsp.rekey.keystore.notactivated = Keystore has not been activated. Called from: {0}
ocsp.rekey.triggered = Rekeying triggered for {0}.
ocsp.rekey.triggered.dn.not.existing = Can't renew keys for target {0}. Unmatched values: {1}
ocsp.rekey.triggered.dn.not.valid = DN {0} is not valid for rekeying.
ocsp.rekey.triggered.not.enabled = OCSP rekeying is not enabled because no password has been set. Called from: {0}
ocsp.rekey.triggered.unauthorized.ip = Received a command for key regeneration from an unauhtorized IP. Called from: {0}
ocsp.rekey.triggered.wrong.password = Incorrect password. Called from: {0}
ocsp.reloadkeys = Reloading keys due to request from {0}.
ocsp.returnedunidresponse = Returned response to (ip;fqdn): {0}; {1} with Unid={2}.
ocsp.shrinkmaxage = RFC 5019 6.2: max-age should be 'later than thisUpdate but earlier than nextUpdate'. Shrinking maxAge to largest possible value '{0}'.
ocsp.signcerthasnochain = Signing certificate with serial number {0} from issuer {1} has no chain to a root CA.
ocsp.signcertnotindb = Signing certificate with serial number {0} from issuer {1} can not be found in database (signing- and CA-certs must be published to OCSP responder).
ocsp.signcertissuerrevoked = Signing certificate issuer with serial number {0} and Subject DN {1} is revoked.
ocsp.signingkeynotincache = Key binding with name '{0}' not loaded in cache.
ocsp.toolarge = Request dropped. OCSP only supports requests of {0} bytes in total or less. Current request was {1} bytes.
ocsp.unknownmethod = Unknown request method '{0}'. Only GET and POST supported.
ocsp.warncertwillexpire = The certificate with serial number '{0}' issued by the CA '{1}' will expire at '{2}'.

# Request resources
request.toolarge = Request dropped. Only supports requests of {0} bytes in total or less. Current request was {1} bytes. 
request.notasequence = Not a sequence on top level. Tag was {0}.
request.notcorrectasn1length = Not correct length of message according to ASN.1 length tag. Length tag was {0}, but we read only {1} bytes.

# X.509v3 certificate extension
certext.errorparsingproperty= Error parsing the 'certextensions.properties' file.
certext.certextmissconfigured = Certificate Extension {0} seems to be misconfigured in the certextensions.properties
certext.noextensionforid = No extension configured for id: {0}. Returning null.
certext.basic.incorrectvalue= Incorrect property 'value' for basic certificate extension with id : {0} and OID : {1}
certext.basic.incorrectenc= Incorrect encoding ({0}) for basic certificate extension with id : {1}
certext.basic.illegalvalue = Illegal value {0} of certificate extension with id : {1} and OID : {2}

# Certificate Transparency
certificatetransparency.failedtoadd = Failed to add certificate to the required number of CT logs (minimum logs: {0}, successful logs: {1}). Reason: {2}
certificatetransparency.invalidsignature = Invalid signature in SCT response from URL '{0}'.

# Name constraints
nameconstraints.forbiddensubjectdn = Subject DN '{0}' does not fulfill Name Constraints of issuing CA.
nameconstraints.forbiddensubjectaltname = Subject Alternative Name '{0}' does not fulfill Name Constraints of issuing CA.
nameconstraints.x500dnorderrequired = Must use X.500 DN order (not LDAP DN order) when issuing a certificate with Name Constraints.

# General error messages, used in several places
error.catokenoffline = CA token is offline for CA '{0}'.
error.caoffline = CA '{0}' is not active. CA status={1}.

# Card Verifiable Certificate resources
cvc.error.notcvcrequest = Request is not a CVCertificate request.
cvc.info.nocvcpkcs7 = PKCS7 does not exist for CV Certificates.
cvc.info.createlinkcert = Creating a link certificate for '{0}' issued by '{1}'.
cvc.error.missingdnfield = Invalid DN '{0}'. {1} field must be filled in.

# Global Configuration resources
globalconfig.savedconf = Saved global configuration with id {0}.
globalconfig.createdconf = Global configuration with id {0} created.
globalconfig.errorcreateconf = Failed to create global configuration.
globalconfig.error.querysizetoolarge = Unable to set query size limit of {0}. System has a fixed limit of {1}. 
globalconfig.error.querysizetoolow = Minimum valid query size limit is 1.

# General useful expressions
general.anybody = Anybody
general.approve = Approve
general.reject = Reject

# Profile resources
approval.profile.implementation.accumulative.approval.name = Accumulative Approval
approval.profile.implementation.partitioned.approval.name = Partitioned Approval
approval.profile.metadata.field.checkbox = Check Box
approval.profile.metadata.field.freetext = Text Field
approval.profile.metadata.field.integer = Number (Short)
approval.profile.metadata.field.long = Number (Long)
approval.profile.metadata.field.radio.button = Radio Button
approval.profile.store.add = Added approval profile of name {0}.
approval.profile.store.clone = Cloned profile with name {0} to profile named {1}.
approval.profile.store.clone.error.profile.name.exists = Could not clone profile, profile of name {0} already exists.
approval.profile.store.edit = Edited approval profile {0}.
approval.profile.store.remove = Removed profile with name {0}.
approval.profile.store.rename = Renamed profile with name {0} to {1}.
profile.store.error.profile_with_id_exists = Profile with ID {0} already exists.
profile.store.error.profile_with_name_exists = Profile with name {0} already exists.
profile.store.error.profile_not_found = Profile of name {0} not found.

# Dynamic Properties
dynamic.property.validation.positiveinteger.failure = Value must be greater than or equal to 0, was {0}.

# Validators
validator.no_validator = Validator with id {0} does not exist.
validator.added_validator = Validator '{0}' added.
validator.error.add_validator = Error adding validator '{0}'.
validator.error.set_key_validator_exp_min = Error saving validator: value '{0}' must not be negative for Public key exponent minimum value.
validator.error.set_key_validator_exp_max = Error saving validator: value '{0}' must not be negative for Public key exponent maximum value.
validator.error.set_key_validator_fact_min = Error saving validator: value '{0}' must not be negative for Public key modulus smallest factor.
validator.error.set_key_validator_mod_min = Error saving validator: value '{0}' must not be negative for Public key modulus minimum value.
validator.error.set_key_validator_mod_max = Error saving validator: value '{0}' must not be negative for Public key modulus maximum value.
validator.error.set_key_validator_values_gui = Error saving validator: value '{0}' must not be negative for '{1}'. 
validator.changed_validator = Validator '{0}' edited.
validator.error.change_validator = Error editing validator {0}.
validator.cloned_validator = New validator '{0}' using validator '{1}' as template.
validator.error.clone_validator = Error adding validator '{0}' using validator '{1}' as template.
validator.removed_validator = Validator '{0}' removed.
validator.error.remove_validator = Error removing validator '{0}'.
validator.renamed_validator = Validator '{0}' renamed to '{1}'.
validator.errorrenamekeyvalidator = Error renaming validator '{0}' to '{1}'.
validator.filterconditiondoesnotmatch = Validator '{0}' is not processed because '{1}' condition does not match.
validator.caa.validation_failed = CAA Validator '{0}' failed issuance of certificates to issuer {1}, with messages: {2}.
validator.caa.validation_failed_error_page = CAA Validator '{0}' failed issuance of certificates to issuer {1}, not authorized.
validator.caa.validation_successful = CAA Validator '{0}' has permitted issuance of certificates to issuer {1}, with messages: {2}.
validator.key.isbeingprocessed = Process key validation with validator '{0}' for end entity '{1}' and public key fingerprint {2}.
validator.key.validation_failed = Key Validator '{0}' could not validate sufficient key quality for public key {1}.
validator.key.validation_successful = Key Validator '{0}' validated sufficient key quality for public key '{1}'.
validator.certificate.isbeingprocessed = Process certificate validation with validator '{0}', phase {1} for end entity '{2}' and public key fingerprint {3}.
validator.certificate.validation_failed = Certificate Validator '{0}' could not validate successfully for certificate with public key {1}.
validator.certificate.validation_successful = Certificate Validator '{0}' validated successfully for certificate with public key '{1}'.
validator.error.minimum_bigger = Error saving validator: {0} is {1} while maximum is {2}.
validator.error.minimum_bigger_log = Cannot set new value: minimum is {0} while maximum is {1}.

# Validator Implementations
validator.implementation.certificate.external = External Command Certificate Validator
validator.implementation.key.rsa = RSA Key Validator
validator.implementation.key.ecc = ECC Key Validator
validator.implementation.key.blacklist = Public Key Blacklist Key Validator
validator.implementation.ee.caa = CAA Validator

# External Command Certifcate Validator
validator.certificate.externalcommand.testfilemissing = Test Certificate Path is missing.
validator.certificate.externalcommand.testfilenopermission = Could Not Read Test Certificate file '{0}'.

# Validator resources
validator.upgrade = Upgrading validator with version {0}.
externalcertificatevalidator.upgrade = Upgrading external command certificate validator with version {0}.
rsakeyvalidator.upgrade = Upgrading RSA key validator with version {0}.
ecckeyvalidator.upgrade = Upgrading ECC key validator with version {0}.
blacklistkeyvalidator.upgrade = Upgrading blacklist key validator with version {0}.

# Process Resources
process.errortempfile = Could not output to temporary file.
process.errordeletetempfile = Could not remove temporary file {0}.
process.errorexternalapp = Detected errors while running the external application {0}.
process.commandnotfound = Could not find external command {0}.
process.commandnopermission =  Could not execute external command {0}.
process.certificate.filenotfound = Could not find certificate file {0}.
process.certificate.couldnotbeparsed = Could not parse certificate file {0}.
process.certificate.couldnotbeencoded = Could not encode test certificate {0}.
process.whitelist.error.notlisted = A whitelist has been enabled, but the command '{0}' is not on the whitelist.


# EOF
