.Net не может шифровать секреты для отправки в API GitHubC#

Место общения программистов C#
Ответить
Anonymous
 .Net не может шифровать секреты для отправки в API GitHub

Сообщение Anonymous »


Я пытаюсь использовать API секретов действий Github для развертывания секрета в нескольких репозиториях. Согласно документации, мы должны зашифровать секретный ключ с помощью библиотеки натрия, однако пример документации Github для .Net не предоставлен. Пока что я пишу следующий код для его безрезультатного шифрования (с использованием Sodium.Core):

с использованием натрия; использование системы; использование System.Text; используя System.Text.Json; общедоступное статическое шифрование строк (String PlainText, GitHubKey EncryptionKey) { // Конвертируем открытый ключ из строки Base64 в байт byte[] PublicKeyBytes = Convert.FromBase64String(EncryptionKey.Key); // Шифрование секретного значения с использованием открытого ключа byte[] EncryptedSecretBytes = PublicKeyBox.Create(Encoding.UTF8.GetBytes(PlainText), новый байт[24], Utilities.HexToBinary(EncryptionKey.KeyId.ToString()), PublicKeyBytes); return Convert.ToBase64String(EncryptedSecretBytes); } Моя основная проблема заключается в том, что PublicKeyBox.Create требует, чтобы идентификатор ключа представлял собой 32-байтовый массив, хотя на самом деле это 9-байтовый массив. Знаешь, как мне к этому относиться?
Я попробовал заполнить 32-байтовый массив с 0 в начале, но это не сработало, я смог установить секрет, но когда я попытался его использовать, я получил следующую ошибку:

Требуется ввод, но он не указан: токен
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»