###############################################################################
# Copyright (c) 2006, 2012 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

# 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.