Подписание производит "хеш" с Вашим закрытым ключом, который может быть проверен с Вашим открытым ключом. Текст представляется ясное.
Шифрование использует открытый ключ получателя для шифрования данных; декодирование сделано с их закрытым ключом.
Так, использование ключей не инвертируется (иначе, Ваш закрытый ключ больше не был бы частным!).
Вы пытались добавить новую конфигурацию проекта (x64) к существующему?
Обычно вам не нужно вообще редактировать свойства проекта для сборки в 64-битной версии. Вам просто нужно добавить конфигурации и убедиться, что конфигурация решения правильная (64-битная конфигурация решения содержит 64-битные конфигурации проекта).
Вы можете проверить это, открыв Сборка-> Configuration Manager . Моя Visual Studio иногда портит эти настройки и делает проект некомпилируемым, поэтому повторная проверка может помочь.
Что бы это ни стоило, я столкнулся с точно такой же проблемой.
У меня есть проект, который компилирует статическую библиотеку, и создание конфигурации «x64» НЕ привело к тому, что он фактически был ориентирован на x64. Мне пришлось явно добавить «/MACHINE: X64» в качестве «дополнительной опции» в разделе «Библиотекарь -> Командная строка» на страницах свойств проекта, как и вы.
Я ожидаю, что Visual Studio выставит этот параметр как первоклассное свойство на страницах свойств, как это делается для динамических библиотек (в разделе «Компоновщик -> Дополнительно -> Целевая машина»). Возможно, я что-то упускаю.