2.2.63 FW_AUTH_SUITE
This structure specifies an IPsec authentication suite and includes certification selection criteria. An authentication suite is a proposal of a set of algorithms and parameters that specify the authentication method to be used.
-
typedef struct _tag_FW_AUTH_SUITE { [range(FW_AUTH_METHOD_INVALID+1, FW_AUTH_METHOD_MAX)] FW_AUTH_METHOD Method; unsigned short wFlags; [switch_type(FW_AUTH_METHOD), switch_is(Method)] union { [case(FW_AUTH_METHOD_MACHINE_CERT,FW_AUTH_METHOD_USER_CERT)] struct { [ref, string] wchar_t* wszCAName; [unique] PFW_CERT_CRITERIA pCertCriteria; }; [case(FW_AUTH_METHOD_MACHINE_SHKEY)] struct { [ref, string] wchar_t* wszSHKey; } pCertCriteria; [case(FW_AUTH_METHOD_MACHINE_KERB, FW_AUTH_METHOD_USER_KERB)] struct { [unique, string] WCHAR* wszProxyServer; }; [default] ; }; } FW_AUTH_SUITE, *PFW_AUTH_SUITE;
Method: This field is of type FW_AUTH_METHOD. It specifies the authentication method that is suggested by this proposal suite.
wFlags: This flag is a combination of flags from FW_AUTH_SUITE_FLAGS.
wszCAName: A pointer to a Unicode string. This string represents the name of the certificate authority to be used to authenticate when using machine or user certificate methods.
pCertCriteria: A pointer to a structure of type PFW_CERT_CRITERIA. This field MUST NOT be present unless the Method field has the value FW_AUTH_METHOD_MACHINE_CERT or FW_AUTH_METHOD_USER_CERT.
-
It contains fields which are used when selecting a local certificate and validating a remote peer's certificate during certificate authentication.
wszSHKey: A pointer to a Unicode string. This string is the previous, manually shared secret that is used to authenticate when using preshared key methods.
wszProxyServer: A pointer to a Unicode string specifying the fully qualified domain name (FQDN) of the Kerberos proxy server. This field MUST be set if and only if the FW_AUTH_SUITE_FLAGS_ALLOW_PROXY flag is set.
If the method is machine certificate or user certificate, the wszCAName string MUST NOT be NULL, MUST be at least 1 character long, MUST NOT be greater than or equal to 10,000 characters, MUST NOT contain the pipe(|) character, and MUST be a valid Name as defined in [X501] section 9.2. If the method is SHKEY, the wszSHKey string MUST NOT be NULL, MUST be at least 1 character long, MUST NOT be greater than or equal to 10,000 characters, and MUST NOT contain the pipe (|) character.
If the Method is not FW_AUTH_METHOD_MACHINE_CERT or FW_AUTH_METHOD_USER_CERT then the pCertCriteria field MUST be NULL.