Похоже, что веб-сервис Java использует протокол SSL TLS вместо старого протокола SSL. Вам не нужно «зашифровывать имя пользователя и пароль сертификата в заголовке». Я не знаю, где вы это слышали. Если это обычный сертификат, который является частью хранилища ключей Java по умолчанию, то в Java уже есть встроенный пароль.
В случае, если я являюсь самоподписанным сертификатом (на стороне веб-службы), вам может потребоваться как-то указать C # доверять самоподписанному сертификату. Кроме того, «учетные данные», на которые вы ссылаетесь, - это не имя пользователя + пароль, а просто полезная нагрузка закрытого ключа.