/*
 * crypt32 dll resources
 *
 * Copyright (C) 2006 Juan Lang
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#include "cryptres.h"

LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT

STRINGTABLE
{
    IDS_AUTHORITY_KEY_ID "Authority Key Identifier"
    IDS_KEY_ATTRIBUTES "Key Attributes"
    IDS_KEY_USAGE_RESTRICTION "Key Usage Restriction"
    IDS_SUBJECT_ALT_NAME "Subject Alternative Name"
    IDS_ISSUER_ALT_NAME "Issuer Alternative Name"
    IDS_BASIC_CONSTRAINTS "Basic Constraints"
    IDS_KEY_USAGE "Key Usage"
    IDS_CERT_POLICIES "Certificate Policies"
    IDS_SUBJECT_KEY_IDENTIFIER "Subject Key Identifier"
    IDS_CRL_REASON_CODE "CRL Reason Code"
    IDS_CRL_DIST_POINTS "CRL Distribution Points"
    IDS_ENHANCED_KEY_USAGE "Enhanced Key Usage"
    IDS_AUTHORITY_INFO_ACCESS "Authority Information Access"
    IDS_CERT_EXTENSIONS "Certificate Extensions"
    IDS_NEXT_UPDATE_LOCATION "Next Update Location"
    IDS_YES_OR_NO_TRUST "Yes or No Trust"
    IDS_EMAIL_ADDRESS "Email Address"
    IDS_UNSTRUCTURED_NAME "Unstructured Name"
    IDS_CONTENT_TYPE "Content Type"
    IDS_MESSAGE_DIGEST "Message Digest"
    IDS_SIGNING_TIME "Signing Time"
    IDS_COUNTER_SIGN "Counter Sign"
    IDS_CHALLENGE_PASSWORD "Challenge Password"
    IDS_UNSTRUCTURED_ADDRESS "Unstructured Address"
    IDS_SMIME_CAPABILITIES "S/MIME Capabilities"
    IDS_PREFER_SIGNED_DATA "Prefer Signed Data"
    IDS_CPS "#msgctxt#Certification Practice Statement#CPS"
    IDS_USER_NOTICE "User Notice"
    IDS_OCSP "On-line Certificate Status Protocol"
    IDS_CA_ISSUER "Certification Authority Issuer"
    IDS_CERT_TEMPLATE_NAME "Certification Template Name"
    IDS_CERT_TYPE "Certificate Type"
    IDS_CERT_MANIFOLD "Certificate Manifold"
    IDS_NETSCAPE_CERT_TYPE "Netscape Cert Type"
    IDS_NETSCAPE_BASE_URL "Netscape Base URL"
    IDS_NETSCAPE_REVOCATION_URL "Netscape Revocation URL"
    IDS_NETSCAPE_CA_REVOCATION_URL "Netscape CA Revocation URL"
    IDS_NETSCAPE_CERT_RENEWAL_URL "Netscape Cert Renewal URL"
    IDS_NETSCAPE_CA_POLICY_URL "Netscape CA Policy URL"
    IDS_NETSCAPE_SSL_SERVER_NAME "Netscape SSL ServerName"
    IDS_NETSCAPE_COMMENT "Netscape Comment"
    IDS_COUNTRY "Country/Region"
    IDS_ORGANIZATION "Organization"
    IDS_ORGANIZATIONAL_UNIT "Organizational Unit"
    IDS_COMMON_NAME "Common Name"
    IDS_LOCALITY "Locality"
    IDS_STATE_OR_PROVINCE "State or Province"
    IDS_TITLE "Title"
    IDS_GIVEN_NAME "Given Name"
    IDS_INITIALS "Initials"
    IDS_SUR_NAME "Surname"
    IDS_DOMAIN_COMPONENT "Domain Component"
    IDS_STREET_ADDRESS "Street Address"
    IDS_SERIAL_NUMBER "Serial Number"
    IDS_CA_VERSION "CA Version"
    IDS_CROSS_CA_VERSION "Cross CA Version"
    IDS_SERIALIZED_SIG_SERIAL_NUMBER "Serialized Signature Serial Number"
    IDS_PRINCIPAL_NAME "Principal Name"
    IDS_WINDOWS_PRODUCT_UPDATE "Windows Product Update"
    IDS_ENROLLMENT_NAME_VALUE_PAIR "Enrollment Name Value Pair"
    IDS_OS_VERSION "OS Version"
    IDS_ENROLLMENT_CSP "Enrollment CSP"
    IDS_CRL_NUMBER "CRL Number"
    IDS_DELTA_CRL_INDICATOR "Delta CRL Indicator"
    IDS_ISSUING_DIST_POINT "Issuing Distribution Point"
    IDS_FRESHEST_CRL "Freshest CRL"
    IDS_NAME_CONSTRAINTS "Name Constraints"
    IDS_POLICY_MAPPINGS "Policy Mappings"
    IDS_POLICY_CONSTRAINTS "Policy Constraints"
    IDS_CROSS_CERT_DIST_POINTS "Cross-Certificate Distribution Points"
    IDS_APPLICATION_POLICIES "Application Policies"
    IDS_APPLICATION_POLICY_MAPPINGS "Application Policy Mappings"
    IDS_APPLICATION_POLICY_CONSTRAINTS "Application Policy Constraints"
    IDS_CMC_DATA "CMC Data"
    IDS_CMC_RESPONSE "CMC Response"
    IDS_UNSIGNED_CMC_REQUEST "Unsigned CMC Request"
    IDS_CMC_STATUS_INFO "CMC Status Info"
    IDS_CMC_EXTENSIONS "CMC Extensions"
    IDS_CMC_ATTRIBUTES "CMC Attributes"
    IDS_PKCS_7_DATA "PKCS 7 Data"
    IDS_PKCS_7_SIGNED "PKCS 7 Signed"
    IDS_PKCS_7_ENVELOPED "PKCS 7 Enveloped"
    IDS_PKCS_7_SIGNED_ENVELOPED "PKCS 7 Signed Enveloped"
    IDS_PKCS_7_DIGESTED "PKCS 7 Digested"
    IDS_PKCS_7_ENCRYPTED "PKCS 7 Encrypted"
    IDS_PREVIOUS_CA_CERT_HASH "Previous CA Certificate Hash"
    IDS_CRL_VIRTUAL_BASE "Virtual Base CRL Number"
    IDS_CRL_NEXT_PUBLISH "Next CRL Publish"
    IDS_CA_EXCHANGE "CA Encryption Certificate"
    IDS_KEY_RECOVERY_AGENT "Key Recovery Agent"
    IDS_CERTIFICATE_TEMPLATE "Certificate Template Information"
    IDS_ENTERPRISE_ROOT_OID "Enterprise Root OID"
    IDS_RDN_DUMMY_SIGNER "Dummy Signer"
    IDS_ARCHIVED_KEY_ATTR "Encrypted Private Key"
    IDS_CRL_SELF_CDP "Published CRL Locations"
    IDS_REQUIRE_CERT_CHAIN_POLICY "Enforce Certificate Chain Policy"
    IDS_TRANSACTION_ID "Transaction Id"
    IDS_SENDER_NONCE "Sender Nonce"
    IDS_RECIPIENT_NONCE "Recipient Nonce"
    IDS_REG_INFO "Reg Info"
    IDS_GET_CERTIFICATE "Get Certificate"
    IDS_GET_CRL "Get CRL"
    IDS_REVOKE_REQUEST "Revoke Request"
    IDS_QUERY_PENDING "Query Pending"
    IDS_SORTED_CTL "Certificate Trust List"
    IDS_ARCHIVED_KEY_CERT_HASH "Archived Key Certificate Hash"
    IDS_PRIVATE_KEY_USAGE_PERIOD "Private Key Usage Period"
    IDS_CLIENT_INFORMATION "Client Information"
    IDS_SERVER_AUTHENTICATION "Server Authentication"
    IDS_CLIENT_AUTHENTICATION "Client Authentication"
    IDS_CODE_SIGNING "Code Signing"
    IDS_SECURE_EMAIL "Secure Email"
    IDS_TIME_STAMPING "Time Stamping"
    IDS_MICROSOFT_TRUST_LIST_SIGNING "Microsoft Trust List Signing"
    IDS_MICROSOFT_TIME_STAMPING "Microsoft Time Stamping"
    IDS_IPSEC_END_SYSTEM "IP security end system"
    IDS_IPSEC_TUNNEL "IP security tunnel termination"
    IDS_IPSEC_USER "IP security user"
    IDS_EFS "Encrypting File System"
    IDS_WHQL_CRYPTO "Windows Hardware Driver Verification"
    IDS_NT5_CRYPTO "Windows System Component Verification"
    IDS_OEM_WHQL_CRYPTO "OEM Windows System Component Verification"
    IDS_EMBEDDED_NT_CRYPTO "Embedded Windows System Component Verification"
    IDS_KEY_PACK_LICENSES "Key Pack Licenses"
    IDS_LICENSE_SERVER "License Server Verification"
    IDS_SMART_CARD_LOGON "Smart Card Logon"
    IDS_DIGITAL_RIGHTS "Digital Rights"
    IDS_QUALIFIED_SUBORDINATION "Qualified Subordination"
    IDS_KEY_RECOVERY "Key Recovery"
    IDS_DOCUMENT_SIGNING "Document Signing"
    IDS_IPSEC_IKE_INTERMEDIATE "IP security IKE intermediate"
    IDS_FILE_RECOVERY "File Recovery"
    IDS_ROOT_LIST_SIGNER "Root List Signer"
    IDS_ANY_APPLICATION_POLICIES "All application policies"
    IDS_DS_EMAIL_REPLICATION "Directory Service Email Replication"
    IDS_ENROLLMENT_AGENT "Certificate Request Agent"
    IDS_LIFETIME_SIGNING "Lifetime Signing"
    IDS_ANY_CERT_POLICY "All issuance policies"
}

STRINGTABLE
{
    IDS_LOCALIZEDNAME_ROOT "Trusted Root Certification Authorities"
    IDS_LOCALIZEDNAME_MY "Personal"
    IDS_LOCALIZEDNAME_CA "Intermediate Certification Authorities"
    IDS_LOCALIZEDNAME_ADDRESSBOOK "Other People"
    IDS_LOCALIZEDNAME_TRUSTEDPUBLISHER "Trusted Publishers"
    IDS_LOCALIZEDNAME_DISALLOWED "Untrusted Certificates"
}

STRINGTABLE
{
    IDS_KEY_ID "KeyID="
    IDS_CERT_ISSUER "Certificate Issuer"
    IDS_CERT_SERIAL_NUMBER "Certificate Serial Number="
    IDS_ALT_NAME_OTHER_NAME "Other Name="
    IDS_ALT_NAME_RFC822_NAME "Email Address="
    IDS_ALT_NAME_DNS_NAME "DNS Name="
    IDS_ALT_NAME_DIRECTORY_NAME "Directory Address"
    IDS_ALT_NAME_URL "URL="
    IDS_ALT_NAME_IP_ADDRESS "IP Address="
    IDS_ALT_NAME_MASK "Mask="
    IDS_ALT_NAME_REGISTERED_ID "Registered ID="
    IDS_USAGE_UNKNOWN "Unknown Key Usage"
    IDS_SUBJECT_TYPE "Subject Type="
    IDS_SUBJECT_TYPE_CA "#msgctxt#Certificate Authority#CA"
    IDS_SUBJECT_TYPE_END_CERT "End Entity"
    IDS_PATH_LENGTH "Path Length Constraint="
    IDS_PATH_LENGTH_NONE "#msgctxt#path length#None"
    IDS_INFO_NOT_AVAILABLE "Information Not Available"
    IDS_AIA "Authority Info Access"
    IDS_ACCESS_METHOD "Access Method="
    IDS_ACCESS_METHOD_OCSP "#msgctxt#Online Certificate Status Protocol#OCSP"
    IDS_ACCESS_METHOD_CA_ISSUERS "CA Issuers"
    IDS_ACCESS_METHOD_UNKNOWN "Unknown Access Method"
    IDS_ACCESS_LOCATION "Alternative Name"
    IDS_CRL_DIST_POINT "CRL Distribution Point"
    IDS_CRL_DIST_POINT_NAME "Distribution Point Name"
    IDS_CRL_DIST_POINT_FULL_NAME "Full Name"
    IDS_CRL_DIST_POINT_RDN_NAME "RDN Name"
    IDS_CRL_DIST_POINT_REASON "CRL Reason="
    IDS_CRL_DIST_POINT_ISSUER "CRL Issuer"
    IDS_REASON_KEY_COMPROMISE "Key Compromise"
    IDS_REASON_CA_COMPROMISE "CA Compromise"
    IDS_REASON_AFFILIATION_CHANGED "Affiliation Changed"
    IDS_REASON_SUPERSEDED "Superseded"
    IDS_REASON_CESSATION_OF_OPERATION "Operation Ceased"
    IDS_REASON_CERTIFICATE_HOLD "Certificate Hold"
    IDS_FINANCIAL_CRITERIA "Financial Information="
    IDS_FINANCIAL_CRITERIA_AVAILABLE "Available"
    IDS_FINANCIAL_CRITERIA_NOT_AVAILABLE "Not Available"
    IDS_FINANCIAL_CRITERIA_MEETS_CRITERIA "Meets Criteria="
    IDS_YES "Yes"
    IDS_NO "No"
    IDS_DIGITAL_SIGNATURE "Digital Signature"
    IDS_NON_REPUDIATION "Non-Repudiation"
    IDS_KEY_ENCIPHERMENT "Key Encipherment"
    IDS_DATA_ENCIPHERMENT "Data Encipherment"
    IDS_KEY_AGREEMENT "Key Agreement"
    IDS_CERT_SIGN "Certificate Signing"
    IDS_OFFLINE_CRL_SIGN "Off-line CRL Signing"
    IDS_CRL_SIGN "CRL Signing"
    IDS_ENCIPHER_ONLY "Encipher Only"
    IDS_DECIPHER_ONLY "Decipher Only"
    IDS_NETSCAPE_SSL_CLIENT "SSL Client Authentication"
    IDS_NETSCAPE_SSL_SERVER "SSL Server Authentication"
    IDS_NETSCAPE_SMIME "S/MIME"
    IDS_NETSCAPE_SIGN "Signature"
    IDS_NETSCAPE_SSL_CA "SSL CA"
    IDS_NETSCAPE_SMIME_CA "S/MIME CA"
    IDS_NETSCAPE_SIGN_CA "Signature CA"
}

LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL

#define WINE_FILEDESCRIPTION_STR "Wine CryptoAPI Library"
#define WINE_FILENAME_STR "crypt32.dll"
#define WINE_FILEVERSION 5,131,2600,1243
#define WINE_FILEVERSION_STR "5.131.2600.1243"
#define WINE_PRODUCTVERSION 5,131,2600,1243
#define WINE_PRODUCTVERSION_STR "5.131.2600.1243"

#include "wine/wine_common_ver.rc"
