В моем проекте C # я поместил этот кусок кода: < /p>
Первоначально я выздоровел из сертификата, который я создал с помощью Bouncy Castle, пары ключей, затем я извлекаю закрытый ключ, моя цель состоит в том, что он находится в формате. pem, < /p>
AsymmetricKeyParameter private_RSA = keyPair2.Private;
PrivateKeyInfo k_RSA = PrivateKeyInfoFactory.CreatePrivateKeyInfo(private_RSA);
byte[] serializedKey_priv_RSA = k_RSA.ToAsn1Object().GetDerEncoded();
// byte[] clé = Org.BouncyCastle.Utilities.Encoders.Hex.Decode(serializedKey);
string data_priv_RSA = Convert.ToBase64String(serializedKey_priv_RSA);
using (fluxInfos2 = new StreamWriter("myprivatekey.pem"))
{
string ligne = " -----BEGIN RSA PRIVATE KEY----- ";
fluxInfos2.WriteLine(ligne);
fluxInfos2.WriteLine(data_priv_RSA);
string lige2 = "-----END RSA PRIVATE KEY----- ";
fluxInfos2.WriteLine(lige2);
}
fluxInfos2.Close();
< /code>
Мой ключ создается идеально, то есть что содержит файл; < /p>
-----BEGIN RSA PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCQBr1EhPxHeVax8QbXQtUwaSyqhZehjxkgVp89Rkn3awfo7f9usQdLSp3tLSwAkHMvqi3UKSwUh8FlzCC0CBZCx1LOY05NS613tU/gaI7r+Zl4Iq+PevetEy8WxViRGoye/A9TU5r+BshT12MWYzVE/BYAb6OcsHZ5QztA+GDXA01YnTpgwOenkJXmrmmkSif80hk+NAWglnCqUzl3apZHhgVLpdkGDJPjhy8l9qOt6lu2gBQVX0AC8MyMt5Uqx9yFcR65+S8v8TV5Bc7Kk+9nkCl503k8Sn1fw4OWc6cMhK9E4/LF5MUIMO/UnIPQKeLbTlY8hAYG0sN0AJT/3IfxAgMBAAECggEAAyACT1BLYQmi9e1y5ozOr2Q40eJgLeM6+lam0d+Kj1HFNCql1jMFI38U+iZ2w/Rea3RX1jimejOP4LOTKhTa1swYYd4JvuebdfN7LjVWlIwv5klqYcSbRygZZ3cUuuFGl9SESJyRyl0/T4Jm5f91EnAd0hiaBjZV+7+Xs4swHrotSDrnSuMZGZ9skwws8Y0lfV6Lzvsh3+VerEq9X1yl8NJeKZrOOkAntu/yfMkcdj0+s+UvM7k8RenTCas1X5gVzv4b+CBNS9DgOmdIUUE4rSvF3ulTyWNXaWVJpvUvcT115ylxFPkyM+g1v/gqTd+L+I+npKVOK5qAtZobRTpMeQKBgQDBEWnu2Km3LxYYSDINbW7E5ytBUxIrNtwjo2IYstPJJ55hF4EQdwe7y10/eUbS/YsIj3xLXnYQGLaF52Mql/y9oCu8WsYE7CtFAhYfR19ibpM0Y2J4XXBc3r4Drg0EI9eqf6iT6vkpTlr7A0t7zPCc6YC6Sbt1o07NWuivdDdjPwKBgQC++Qjk9AmCbwXMBsRfgQMqdoAa+V137rl6dIE1/jHAQg39gKlQeEQ4ZI5+2FNqjMeSUSlkdJTvQhBWlFzeuiMU+uOix5E+aBuf8RVcmlT31rOtrF6DzV3Deg3zzT71SQIlbGp+dyJ8M9IOtZuDgUUu4asByklRNxt9GaqkfsK4zwKBgFPhNe3wMeQFUAsiqqRMzBg9+vv5lGY0AnZ1UHQ8lWjKjrPOG2PE4xZC53NhRFT8lMAWXsD7/D1ID1yjx+DEgaj9AqNlqKyQ0se7fVL/lkBUnB3ho/F5XwzqNRGyN7N5wwQvTFVfe/rnMP3nU48o3cy+YhANYqVcWys6+ObpjfrPAoGBAJd+jPy7TtPm6M1aTOuKN4225ZcAXJJokUDALUQ8uxDOFbUVHLuWPGAT/SpIx5uNxD+hHNnw1bkbSkS0exvAw1XAVVZrRCAijE+L+yszztWwv2a1h2C9SHVqXKkcF6aTXR187NoX/gZTQX6juJNQuCYhpPvNke3YbnkGJGVLnYLnAoGBAL/rT73jvNcr54hhzou8uYlFVGLNbE4IqbBIygTfC4Jd32NSZymcAL1/MLs6RvLj/Cd3DGVikS0y8nH5GGM8qxG0l1n9p96Z9AON+h0Jnen/HJvKPmq/SYkL2NNrg1CUHGL9FMDikMDBqIG/ttGIPCUZHyNAJJsMZJVfZJ9OP7Ru
-----END RSA PRIVATE KEY-----
< /code>
Теперь я должен сделать наоборот, т.е. из ключа данных, содержащегося в файле, я должен иметь Rsaprivatecrtkeyparameters. Для этого я написал этот маленький код: < /p>
KeyFile string = @ "C: \ Users \ Me \ Documents \ Visual Studio 2010 \ Projects \ PEM \ PEM \ bin \ Debug \ myprivatekey.pem";
RsaPrivateCrtKeyParameters GetPrivateKey privat = (KeyFile);
< /code>
Например, GetPrivateKey, выглядит следующим образом: < /p>
public static RsaPrivateCrtKeyParameters GetPrivateKey(String pemFile)
{
if (string.IsNullOrEmpty(pemFile)) throw new ArgumentNullException("pemFile");
string privateKey = File.Exists(pemFile) ? File.ReadAllText(pemFile) : pemFile;
var reader = new PemReader(new StringReader(privateKey));
RsaPrivateCrtKeyParameters privkey = null;
Object obj = reader.ReadObject();
if (obj is AsymmetricCipherKeyPair)
{
privkey = (RsaPrivateCrtKeyParameters)((AsymmetricCipherKeyPair)obj).Private;
} return privkey;
}
< /code>
Проблема в том, что я получаю исключение, в: Object obj = reader.readobject (); < /code>
: < /p>
Creating RSA private key problem: System.InvalidCastException:
Unable to cast object of type 'Org.BouncyCastle.Asn1.DerSequence' to type 'Org.BouncyCastle.Asn1.DerInteger'.
to Org.BouncyCastle.Asn1.Pkcs.RsaPrivateKeyStructure .. ctor (Asn1Sequence seq)
to Org.BouncyCastle.OpenSsl.PemReader.ReadKeyPair (String type, String endMarker)
< /code>
Не могли бы вы мне помочь, спасибо за любую помощь < /p>
Подробнее здесь: https://stackoverflow.com/questions/592 ... type-org-b
Невозможно поднять объект типа 'org.bouncycastle.asn1.dersequence' type 'org.bouncycastle.asn1.derinteger' ⇐ C#
Место общения программистов C#
1752771825
Anonymous
В моем проекте C # я поместил этот кусок кода: < /p>
Первоначально я выздоровел из сертификата, который я создал с помощью Bouncy Castle, пары ключей, затем я извлекаю закрытый ключ, моя цель состоит в том, что он находится в формате. pem, < /p>
AsymmetricKeyParameter private_RSA = keyPair2.Private;
PrivateKeyInfo k_RSA = PrivateKeyInfoFactory.CreatePrivateKeyInfo(private_RSA);
byte[] serializedKey_priv_RSA = k_RSA.ToAsn1Object().GetDerEncoded();
// byte[] clé = Org.BouncyCastle.Utilities.Encoders.Hex.Decode(serializedKey);
string data_priv_RSA = Convert.ToBase64String(serializedKey_priv_RSA);
using (fluxInfos2 = new StreamWriter("myprivatekey.pem"))
{
string ligne = " -----BEGIN RSA PRIVATE KEY----- ";
fluxInfos2.WriteLine(ligne);
fluxInfos2.WriteLine(data_priv_RSA);
string lige2 = "-----END RSA PRIVATE KEY----- ";
fluxInfos2.WriteLine(lige2);
}
fluxInfos2.Close();
< /code>
Мой ключ создается идеально, то есть что содержит файл; < /p>
-----BEGIN RSA PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCQBr1EhPxHeVax8QbXQtUwaSyqhZehjxkgVp89Rkn3awfo7f9usQdLSp3tLSwAkHMvqi3UKSwUh8FlzCC0CBZCx1LOY05NS613tU/gaI7r+Zl4Iq+PevetEy8WxViRGoye/A9TU5r+BshT12MWYzVE/BYAb6OcsHZ5QztA+GDXA01YnTpgwOenkJXmrmmkSif80hk+NAWglnCqUzl3apZHhgVLpdkGDJPjhy8l9qOt6lu2gBQVX0AC8MyMt5Uqx9yFcR65+S8v8TV5Bc7Kk+9nkCl503k8Sn1fw4OWc6cMhK9E4/LF5MUIMO/UnIPQKeLbTlY8hAYG0sN0AJT/3IfxAgMBAAECggEAAyACT1BLYQmi9e1y5ozOr2Q40eJgLeM6+lam0d+Kj1HFNCql1jMFI38U+iZ2w/Rea3RX1jimejOP4LOTKhTa1swYYd4JvuebdfN7LjVWlIwv5klqYcSbRygZZ3cUuuFGl9SESJyRyl0/T4Jm5f91EnAd0hiaBjZV+7+Xs4swHrotSDrnSuMZGZ9skwws8Y0lfV6Lzvsh3+VerEq9X1yl8NJeKZrOOkAntu/yfMkcdj0+s+UvM7k8RenTCas1X5gVzv4b+CBNS9DgOmdIUUE4rSvF3ulTyWNXaWVJpvUvcT115ylxFPkyM+g1v/gqTd+L+I+npKVOK5qAtZobRTpMeQKBgQDBEWnu2Km3LxYYSDINbW7E5ytBUxIrNtwjo2IYstPJJ55hF4EQdwe7y10/eUbS/YsIj3xLXnYQGLaF52Mql/y9oCu8WsYE7CtFAhYfR19ibpM0Y2J4XXBc3r4Drg0EI9eqf6iT6vkpTlr7A0t7zPCc6YC6Sbt1o07NWuivdDdjPwKBgQC++Qjk9AmCbwXMBsRfgQMqdoAa+V137rl6dIE1/jHAQg39gKlQeEQ4ZI5+2FNqjMeSUSlkdJTvQhBWlFzeuiMU+uOix5E+aBuf8RVcmlT31rOtrF6DzV3Deg3zzT71SQIlbGp+dyJ8M9IOtZuDgUUu4asByklRNxt9GaqkfsK4zwKBgFPhNe3wMeQFUAsiqqRMzBg9+vv5lGY0AnZ1UHQ8lWjKjrPOG2PE4xZC53NhRFT8lMAWXsD7/D1ID1yjx+DEgaj9AqNlqKyQ0se7fVL/lkBUnB3ho/F5XwzqNRGyN7N5wwQvTFVfe/rnMP3nU48o3cy+YhANYqVcWys6+ObpjfrPAoGBAJd+jPy7TtPm6M1aTOuKN4225ZcAXJJokUDALUQ8uxDOFbUVHLuWPGAT/SpIx5uNxD+hHNnw1bkbSkS0exvAw1XAVVZrRCAijE+L+yszztWwv2a1h2C9SHVqXKkcF6aTXR187NoX/gZTQX6juJNQuCYhpPvNke3YbnkGJGVLnYLnAoGBAL/rT73jvNcr54hhzou8uYlFVGLNbE4IqbBIygTfC4Jd32NSZymcAL1/MLs6RvLj/Cd3DGVikS0y8nH5GGM8qxG0l1n9p96Z9AON+h0Jnen/HJvKPmq/SYkL2NNrg1CUHGL9FMDikMDBqIG/ttGIPCUZHyNAJJsMZJVfZJ9OP7Ru
-----END RSA PRIVATE KEY-----
< /code>
Теперь я должен сделать наоборот, т.е. из ключа данных, содержащегося в файле, я должен иметь Rsaprivatecrtkeyparameters. Для этого я написал этот маленький код: < /p>
KeyFile string = @ "C: \ Users \ Me \ Documents \ Visual Studio 2010 \ Projects \ PEM \ PEM \ bin \ Debug \ myprivatekey.pem";
RsaPrivateCrtKeyParameters GetPrivateKey privat = (KeyFile);
< /code>
Например, GetPrivateKey, выглядит следующим образом: < /p>
public static RsaPrivateCrtKeyParameters GetPrivateKey(String pemFile)
{
if (string.IsNullOrEmpty(pemFile)) throw new ArgumentNullException("pemFile");
string privateKey = File.Exists(pemFile) ? File.ReadAllText(pemFile) : pemFile;
var reader = new PemReader(new StringReader(privateKey));
RsaPrivateCrtKeyParameters privkey = null;
Object obj = reader.ReadObject();
if (obj is AsymmetricCipherKeyPair)
{
privkey = (RsaPrivateCrtKeyParameters)((AsymmetricCipherKeyPair)obj).Private;
} return privkey;
}
< /code>
Проблема в том, что я получаю исключение, в: Object obj = reader.readobject (); < /code>
: < /p>
Creating RSA private key problem: System.InvalidCastException:
Unable to cast object of type 'Org.BouncyCastle.Asn1.DerSequence' to type 'Org.BouncyCastle.Asn1.DerInteger'.
to Org.BouncyCastle.Asn1.Pkcs.RsaPrivateKeyStructure .. ctor (Asn1Sequence seq)
to Org.BouncyCastle.OpenSsl.PemReader.ReadKeyPair (String type, String endMarker)
< /code>
Не могли бы вы мне помочь, спасибо за любую помощь < /p>
Подробнее здесь: [url]https://stackoverflow.com/questions/5927791/unable-to-cast-object-of-type-org-bouncycastle-asn1-dersequence-to-type-org-b[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия