###############################################################################
# Copyright (c) 2006, 2010 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

# Jar file tampered error messages
file_is_removed_from_jar = A file \"{0}\" has been removed from the jar: {1}
File_In_Jar_Is_Tampered = The file \"{0}\" in the jar \"{1}\" has been tampered!
Security_File_Is_Tampered = Either the manifest file or the signature file has been tampered in this jar: {0}
Signature_Not_Verify = The signature cannot be verified for the signer \"{0}\"  in this jar: {1}

# Jar file parsing
SF_File_Parsing_Error = Error occurs parsing the .SF file to find out the digest algorithm in this bundle: {0}

# PKCS7 parsing errors
PKCS7_SignerInfo_Version_Not_Supported = Only PKCS7 SignerInfos with a version of 1 are supported.
PKCS7_Invalid_File = The file \"{0}\" is not a valid PKCS7 file in the jar: {1}
PKCS7_Parse_Signing_Time = The time stamp in the pkcs7 file cannot be parsed properly!

# Security Exceptions
Algorithm_Not_Supported = {0} digest algorithm is not supported!

# SignedContentFactory exception
Factory_SignedContent_Error = An error occurred while processing the signatures for the file: {0}

# Default Trust Engine
Default_Trust_Keystore_Load_Failed = Failed to load the keystore from: {0}
Default_Trust_Read_Only=This trust engine is read only.
Default_Trust_Cert_Not_Found = Certificate not found.
Default_Trust_Existing_Cert = Certificate already present in store.
Default_Trust_Existing_Alias = A certificate is already present for this alias.