I guess you want to use exception's message because there are numerous possible exceptions of exactly the same class but with other messages, and you want to set specific procession for only this one, thrown by particular method from the inner depths of .NET assemblies? Well, seems like a tough task. I can only think of ugly non-reliable solutions like:
1. Use exception properties, such as StackTrace and TargetSite, to find out the source of error and compare it to the one you expect.
2. Do compare exception's message string to the one existing in current culture - it may be like that
Type pType = typeof(System.ServiceModel.MessageSecurityOverHttp);
Assembly pAssembly = pType.Assembly;
System.Resources.ResourceManager pManager = new System.Resources.ResourceManager("System.ServiceModel", pAssembly);
string sMessage = pManager.GetString("ExpiredTokenInChannelParameters", CultureInfo.CurrentUICulture);
Instead of "ExpiredTokenInChannelParameters" you should provide the name of the specific resource - ie your exception's message string. This can be obtained by IL disassemblers - like dotPeek, for example.
As I mentioned before, this approach, though possibly working, is definitely not recommended - it is an ugly hack I would only use in case of absolute necessity! :)