Я пытаюсь подписать строку с ключом PKCS # 8, используя SHA-256 с RSA.Какая RSASignaturePadding используется с ключом PKCS # 8?
Для метода RSACng.SignData()
требуется RSASignaturePadding, из которых следующие параметры: Pkcs1
и Pss
. Я не могу найти ничего определенного, чтобы сказать мне, что будет использоваться для PKCS # 8.
// Decode Token (token is Base64 & PKCS8 encoded)
byte[] decodedKey = Convert.FromBase64String(myBase64String);
CngKey key = CngKey.Import(decodedKey, CngKeyBlobFormat.Pkcs8PrivateBlob);
// Build signature
string signature = "123abc";
byte[] bytes = Encoding.UTF8.GetBytes(signature);
// Sign signature using key & SHA256 w RSA
var unsigned = new RSACng(key);
byte[] data = unsigned.SignData(bytes, HashAlgorithmName.SHA256, <??????>);
Криптография для меня все нова, поэтому, если мой подход ушел, пожалуйста, дайте мне знать.
Ваш подход не кажется мне «выключенным», но вы должны выбрать лучшие имена для своих переменных. –
проверьте здесь [введите ссылку здесь] (http://stackoverflow.com/questions/37531044/how-do-i-decode-a-base64-pcks-8-представление-of-a-private-key-in- нетто/40429478 # 40429478) –