include/oxs_constants.h (222 lines of code) (raw):

/* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License")" " * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @file oxs_constants.h * @brief Constants for OMXMLSecurity */ #ifndef OXS_CONSTANTS_H #define OXS_CONSTANTS_H #ifdef __cplusplus extern "C" { #endif /** @defgroup oxs OMXMLSecurity * @{ * @} */ /** * @defgroup oxs_constants OXS Constants * @ingroup oxs * @{ */ /*Default values*/ /*Key transfer algo*/ #define OXS_DEFAULT_KT_ALGO_HREF OXS_HREF_RSA_PKCS1 #define OXS_DEFAULT_SYM_ALGO OXS_HREF_AES_256_CBC #define OXS_STR_DEFAULT OXS_STR_EMBEDDED /**************************************************************** Global prefixes ****************************************************************/ #define OXS_XENC "xenc" #define OXS_DS "ds" #define OXS_WSSE "wsse" #define OXS_WSSE_11 "wsse11" #define OXS_WSU "wsu" #define OXS_WSC "wsc" #define OXS_WSSE_XMLNS "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" #define OXS_WSSE_11_XMLNS "http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd" #define OXS_WSU_XMLNS "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" /**************************************************************** ID Prefixes ****************************************************************/ #define OXS_ENCDATA_ID "EncDataID" #define OXS_ENCKEY_ID "EncKeyID" #define OXS_SIG_ID "SigID" #define OXS_CERT_ID "CertID" #define OXS_EMBEDDED_ID "EmbeddedID" #define OXS_DERIVED_ID "DKID" #define OXS_SIG_CONF_ID "SigConfID" #define OXS_LOCAL_REFERENCE_PREFIX "#" /**************************************************************** Global namespaces ****************************************************************/ #define OXS_DSIG_NS "http://www.w3.org/2000/09/xmldsig#" #define OXS_ENC_NS "http://www.w3.org/2001/04/xmlenc#" /*#define OXS_WSSE_NS "http://schemas.xmlsoap.org/ws/2002/04/secext"*/ #define OXS_WSSE_NS "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" #define OXS_WSC_NS_05_02 "http://schemas.xmlsoap.org/ws/2005/02/sc" #define OXS_WSC_NS_05_12 "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512" /**************************************************************** DSig Nodes ****************************************************************/ #define OXS_NODE_SIGNATURE "Signature" #define OXS_NODE_SIGNEDINFO "SignedInfo" #define OXS_NODE_CANONICALIZATION_METHOD "CanonicalizationMethod" #define OXS_NODE_SIGNATURE_METHOD "SignatureMethod" #define OXS_NODE_SIGNATURE_VALUE "SignatureValue" #define OXS_NODE_DIGEST_METHOD "DigestMethod" #define OXS_NODE_DIGEST_VALUE "DigestValue" #define OXS_NODE_OBJECT "Object" #define OXS_NODE_MANIFEST "Manifest" #define OXS_NODE_SIGNATUREPROPERTIES "SignatureProperties" #define OXS_NODE_SIGNATURE_CONFIRMATION "SignatureConfirmation" /*SOAP 11*/ /**************************************************************** Encryption Nodes ****************************************************************/ #define OXS_NODE_ENCRYPTED_DATA "EncryptedData" #define OXS_NODE_ENCRYPTION_METHOD "EncryptionMethod" #define OXS_NODE_ENCRYPTION_PROPERTIES "EncryptionProperties" #define OXS_NODE_ENCRYPTION_PROPERTY "EncryptionProperty" #define OXS_NODE_CIPHER_DATA "CipherData" #define OXS_NODE_CIPHER_VALUE "CipherValue" #define OXS_NODE_CIPHER_REFERENCE "CipherReference" #define OXS_NODE_REFERENCE_LIST "ReferenceList" #define OXS_NODE_DATA_REFERENCE "DataReference" #define OXS_NODE_KEY_REFERENCE "KeyReference" #define OXS_NODE_CARRIED_KEYNAME "CarriedKeyName" #define OXS_TYPE_ENC_CONTENT "http://www.w3.org/2001/04/xmlenc#Content" #define OXS_TYPE_ENC_ELEMENT "http://www.w3.org/2001/04/xmlenc#Element" /**************************************************************** KeyInfo Nodes ****************************************************************/ #define OXS_NODE_KEY_INFO "KeyInfo" #define OXS_NODE_REFERENCE "Reference" #define OXS_NODE_TRANSFORMS "Transforms" #define OXS_NODE_TRANSFORM "Transform" #define OXS_NODE_TRANSFORMATIONPARAMETERS "TransformationParameters" /**************************************************************** KeyInfo Nodes ****************************************************************/ #define OXS_NODE_BINARY_SECURITY_TOKEN "BinarySecurityToken" #define OXS_NODE_KEY_IDENTIFIER "KeyIdentifier" #define OXS_NODE_SECURITY_TOKEN_REFRENCE "SecurityTokenReference" #define OXS_NODE_EMBEDDED "Embedded" /**************************************************************** Secure Conversation Nodes ****************************************************************/ #define OXS_NODE_DERIVED_KEY_TOKEN "DerivedKeyToken" #define OXS_NODE_PROPERTIES "Properties" #define OXS_NODE_GENERATION "Generation" #define OXS_NODE_OFFSET "Offset" #define OXS_NODE_LENGTH "Length" #define OXS_NODE_LABEL "Label" #define OXS_NODE_NONCE "Nonce" #define OXS_NODE_SECURITY_CONTEXT_TOKEN "SecurityContextToken" #define OXS_NODE_IDENTIFIER "Identifier" #define OXS_VALUE_TYPE_SECURITY_CONTEXT_TOKEN_05_02 "http://schemas.xmlsoap.org/ws/2005/02/sc/sct" #define OXS_VALUE_TYPE_SECURITY_CONTEXT_TOKEN_05_12 "http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/sct" /************************ SAML nodes *************************/ #define OXS_NODE_SAML_ASSERTION "Assertion" #define OXS_NODE_SAML_PREFIX "saml" #define OXS_NODE_SAML_SUBJECT_CONFIRMATION_METHOD "ConfirmationMethod" /**************************************************************** Attributes ****************************************************************/ #define OXS_ATTR_ID "Id" #define OXS_ATTR_URI "URI" #define OXS_ATTR_TYPE "Type" #define OXS_ATTR_MIMETYPE "MimeType" #define OXS_ATTR_ENCODING "Encoding" #define OXS_ATTR_ALGORITHM "Algorithm" #define OXS_ATTR_FILTER "Filter" #define OXS_ATTR_RECIPIENT "Recipient" #define OXS_ATTR_TARGET "Target" #define OXS_ATTR_ENCODING_TYPE "EncodingType" #define OXS_ATTR_VALUE_TYPE "ValueType" #define OXS_ATTR_VALUE "Value" /**************************************************************** AES ****************************************************************/ #define OXS_NAME_AES_128_CBC "aes128-cbc" #define OXS_HREF_AES_128_CBC "http://www.w3.org/2001/04/xmlenc#aes128-cbc" #define OXS_NAME_AES_192_CBC "aes192-cbc" #define OXS_HREF_AES_192_CBC "http://www.w3.org/2001/04/xmlenc#aes192-cbc" #define OXS_NAME_AES_256_CBC "aes256-cbc" #define OXS_HREF_AES_256_CBC "http://www.w3.org/2001/04/xmlenc#aes256-cbc" #define OXS_NAME_KW_AES_128 "kw-aes128" #define OXS_HREF_KW_AES_128 "http://www.w3.org/2001/04/xmlenc#kw-aes128" #define OXS_NAME_KW_AES_192 "kw-aes192" #define OXS_HREF_KW_AES_192 "http://www.w3.org/2001/04/xmlenc#kw-aes192" #define OXS_NAME_KW_AES_256 "kw-aes256" #define OXS_HREF_KW_AES_256 "http://www.w3.org/2001/04/xmlenc#kw-aes256" /**************************************************************** BASE64 ****************************************************************/ #define OXS_NAME_BASE64 "base64" #define OXS_HREF_BASE64 "http://www.w3.org/2000/09/xmldsig#base64" /**************************************************************** DES ****************************************************************/ #define OXS_NAME_DES_KEY_VALUE "des" #define OXS_NAME_DES3_CBC "tripledes-cbc" #define OXS_HREF_DES3_CBC "http://www.w3.org/2001/04/xmlenc#tripledes-cbc" #define OXS_NAME_KW_DES3 "kw-tripledes" #define OXS_HREF_KW_DES3 "http://www.w3.org/2001/04/xmlenc#kw-tripledes" /**************************************************************** DSA ****************************************************************/ #define OXS_NAME_DSA_KEY_VALUE "dsa" #define OXS_NODE_DSA_KEY_VALUE "DSAKeyValue" #define OXS_HREF_DSA_KEY_VALUE "http://www.w3.org/2000/09/xmldsig#DSAKeyValue" #define OXS_NAME_DSA_SHA1 "dsa-sha1" #define OXS_HREF_DSA_SHA1 "http://www.w3.org/2000/09/xmldsig#dsa-sha1" /**************************************************************** HMAC ****************************************************************/ #define OXS_NAME_HMAC_SHA1 "HmacSha1" #define OXS_HREF_HMAC_SHA1 "http://www.w3.org/2000/09/xmldsig#hmac-sha1" /**************************************************************** EncryptedKey ****************************************************************/ #define OXS_NAME_ENCRYPTED_KEY "enc-key" #define OXS_NODE_ENCRYPTED_KEY "EncryptedKey" #define OXS_HREF_ENCRYPTED_KEY "http://www.w3.org/2001/04/xmlenc#EncryptedKey" /**************************************************************** C14N ****************************************************************/ #define OXS_HREF_XML_C14N "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" #define OXS_HREF_XML_EXC_C14N "http://www.w3.org/2001/10/xml-exc-c14n#" #define OXS_HREF_XML_C14N_WITH_COMMENTS "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments" #define OXS_HREF_XML_EXC_C14N_WITH_COMMENTS "http://www.w3.org/2001/10/xml-exc-c14n#WithComments" /**************************************************************** Transforms ****************************************************************/ #define OXS_HREF_TRANSFORM_XML_EXC_C14N OXS_HREF_XML_EXC_C14N #define OXS_HREF_TRANSFORM_STR_TRANSFORM "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform" #define OXS_HREF_TRANSFORM_ENVELOPED_SIGNATURE "http://www.w3.org/2000/09/xmldsig#enveloped-signature" /**************************************************************** KeyNAME ****************************************************************/ #define OXS_NAME_KEY_NAME "key-name" #define OXS_NODE_KEY_NAME "KeyName" /**************************************************************** KeyValue ****************************************************************/ #define OXS_NAME_KEY_VALUE "key-value" #define OXS_NODE_KEY_VALUE "KeyValue" /**************************************************************** MD5 ****************************************************************/ #define OXS_NAME_MD5 "md5" #define OXS_HREF_MD5 "http://www.w3.org/2001/04/xmldsig-more#md5" /**************************************************************** RetrievalMethod ****************************************************************/ #define OXS_NAME_RETRIEVAL_METHOD "retrieval-method" #define OXS_NODE_RETRIEVAL_METHOD "RetrievalMethod" /**************************************************************** RSA ****************************************************************/ #define OXS_NAME_RSAKEY_VALUE "rsa" #define OXS_NODE_RSAKEY_VALUE "RSAKeyValue" #define OXS_HREF_RSAKEY_VALUE "http://www.w3.org/2000/09/xmldsig#RSAKeyValue" #define OXS_NAME_RSA_MD5 "rsa-md5" #define OXS_HREF_RSA_MD5 "http://www.w3.org/2001/04/xmldsig-more#rsa-md5" #define OXS_NAME_RSA_RIPEMD160 "rsa-ripemd160" #define OXS_HREF_RSA_RIPEMD160 "http://www.w3.org/2001/04/xmldsig-more#rsa-ripemd160" #define OXS_NAME_RSA_SHA1 "rsa-sha1" #define OXS_HREF_RSA_SHA1 "http://www.w3.org/2000/09/xmldsig#rsa-sha1" #define OXS_NAME_RSA_SHA224 "rsa-sha224" #define OXS_HREF_RSA_SHA224 "http://www.w3.org/2001/04/xmldsig-more#rsa-sha224" #define OXS_NAME_RSA_SHA256 "rsa-sha256" #define OXS_HREF_RSA_SHA256 "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" #define OXS_NAME_RSA_SHA384 "rsa-sha384" #define OXS_HREF_RSA_SHA384 "http://www.w3.org/2001/04/xmldsig-more#rsa-sha384" #define OXS_NAME_RSA_SHA512 "rsa-sha512" #define OXS_HREF_RSA_SHA512 "http://www.w3.org/2001/04/xmldsig-more#rsa-sha512" #define OXS_NAME_RSA_PKCS1 "rsa-1_5" #define OXS_HREF_RSA_PKCS1 "http://www.w3.org/2001/04/xmlenc#rsa-1_5" #define OXS_NAME_RSA_OAEP "rsa-oaep-mgf1p" #define OXS_HREF_RSA_OAEP "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" #define OXS_NODE_RSA_OAEP_PARAMS "OAEPparams" /**************************************************************** SHA1 ****************************************************************/ #define OXS_NAME_SHA1 "sha1" #define OXS_HREF_SHA1 "http://www.w3.org/2000/09/xmldsig#sha1" #define OXS_NAME_SHA224 "sha224" #define OXS_HREF_SHA224 "http://www.w3.org/2001/04/xmldsig-more#sha224" #define OXS_NAME_SHA256 "sha256" #define OXS_HREF_SHA256 "http://www.w3.org/2001/04/xmlenc#sha256" #define OXS_NAME_SHA384 "sha384" #define OXS_HREF_SHA384 "http://www.w3.org/2001/04/xmldsig-more#sha384" #define OXS_NAME_SHA512 "sha512" #define OXS_HREF_SHA512 "http://www.w3.org/2001/04/xmlenc#sha512" #define OXS_SC_DK_NAME_P_SHA1 "P_SHA-1" #define OXS_SC_DK_HREF_P_SHA1 "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1" /**************************************************************** X509 ****************************************************************/ #define OXS_NAME_X509_DATA "x509" #define OXS_NODE_X509_DATA "X509Data" #define OXS_HREF_X509_DATA "http://www.w3.org/2000/09/xmldsig#X509Data" #define OXS_NODE_X509_CERTIFICATE "X509Certificate" #define OXS_NODE_X509_CRL "X509CRL" #define OXS_NODE_X509_SUBJECT_NAME "X509SubjectName" #define OXS_NODE_X509_ISSUER_SERIAL "X509IssuerSerial" #define OXS_NODE_X509_ISSUER_NAME "X509IssuerName" #define OXS_NODE_X509_SERIAL_NUMBER "X509SerialNumber" #define OXS_NODE_X509_SKI "X509SKI" #define OXS_NAME_RAW_X509_CERT "raw-x509-cert" #define OXS_HREF_RAW_X509_CERT "http://www.w3.org/2000/09/xmldsig#rawX509Certificate" #define OXS_NAME_X509_STORE "x509-store" /**************************************************************** SOAP 1.1/1.2 ****************************************************************/ #define OXS_NODE_ENVELOPE "Envelope" #define OXS_NODE_HEADER "Header" #define OXS_NODE_BODY "Body" #define OXS_NODE_FAULT "Fault" #define OXS_NODE_FAULT_CODE "faultcode" #define OXS_NODE_FAULT_STRING "faultstring" #define OXS_NODE_FAULT_ACTOR "faultactor" #define OXS_NODE_FAULT_DETAIL "detail" #define OXS_NODE_CODE "Code" #define OXS_NODE_REASON "Reason" #define OXS_NODE_NODE "Node" #define OXS_NODE_ROLE "Role" #define OXS_NODE_DETAIL "Detail" #define OXS_NODE_VALUE "Value" #define OXS_NODE_SUBCODE "Subcode" #define OXS_NODE_TEXT "Text" #define OXS_SOAP_FAULT_CODE_VERSION_MISMATCH "VersionMismatch" #define OXS_SOAP_FAULT_CODE_MUST_UNDERSTAND "MustUnderstand" #define OXS_SOAP_FAULT_CODE_CLIENT "Client" #define OXS_SOAP_FAULT_CODE_SERVER "Server" #define OXS_SOAP_FAULT_CODE_RECEIVER "Receiver" #define OXS_SOAP_FAULT_CODE_SENDER "Sender" #define OXS_SOAP_FAULT_DATA_ENCODNING_UNKNOWN "DataEncodingUnknown" /**************************************************************** Ext ****************************************************************/ #define OXS_ENCODING_BASE64BINARY "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" #define OXS_VALUE_X509V3 "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" #define OXS_X509_SUBJ_KI "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509SubjectKeyIdentifier" #define OXS_X509_TUMBP_PRINT_SHA1 "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1" #define OXS_X509_ENCRYPTED_KEY_SHA1 "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKeySHA1" /**************************************************************** ST References ****************************************************************/ #define OXS_STR_DIRECT_REFERENCE "DirectReference" #define OXS_STR_KEY_IDENTIFIER OXS_NODE_KEY_IDENTIFIER #define OXS_STR_EMBEDDED OXS_NODE_EMBEDDED #define OXS_STR_ISSUER_SERIAL "IssuerSerial" #define OXS_STR_THUMB_PRINT "ThumbPrint" #define OXS_STR_EXTERNAL_URI "ExternalUri" #define OXS_STR_ENCRYPTED_KEY "Encryptedkey" /**************************************************************** WS Security 1.1 ****************************************************************/ #define OXS_WSS_11_VALUE_TYPE_ENCRYPTED_KEY "http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#EncryptedKey" #define OXS_NODE_ENCRYPTED_HEADER "EncryptedHeader" /*************************************************************************/ /** @} */ #ifdef __cplusplus } #endif #endif /* OXS_CONSTANTS_H*/