/*
 * 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 "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_SPC_SP_AGENCY_INFO "SpcSpAgencyInfo"
    IDS_SPC_FINANCIAL_CRITERIA "SpcFinancialCriteria"
    IDS_SPC_MINIMAL_CRITERIA "SpcMinimalCriteria"
    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 "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 "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"
}

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