Зависит от того, как вы хотите использовать сертификат. Вы можете использовать безопасность сообщений или транспорта , где транспорт означает HTTPS, и он очень функционально совместим, а сообщение означает WS-Security, где ваши клиенты обычно должны использовать какой-то специальный API (ручная реализация WS-Security и связанных протоколов - огромная задача ). Так что это в основном зависит от типа клиента не-WCF. Существует множество API для Java или C ++ и некоторые для PHP, но я не знаю ни одного API, обеспечивающего функции WS-Security для Android, iOS или Windows Mobile.
Имя пользователя и пароль также могут передаваться либо в сообщении, либо по заголовкам транспорта. Первый подход обычно достигается с помощью стандартного профиля токена UserName, который представляет собой набор предопределенных заголовков SOAP (WCF сделает это за вас). В этих заголовках нет ничего особенного, поэтому даже клиенты, не являющиеся WCF без WS-Security API, могут легко использовать службу. Более поздний подход обычно достигается с помощью обычной HTTP-аутентификации, и вместе с HTTPS это может быть наиболее совместимым решением (но могут быть некоторые проблемы на сайте WCF, если вы размещаете службу в IIS и не хотите использовать учетные записи Windows для аутентификации ).