Отговори на тема  [ 15 мнения ] 
PFX сертификат 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение PFX сертификат
Някой М$ сертификат гуру може ли да удари едно рамо
трябва ми да се конвертира един PFX на PEM, а нещо насъпвам мотики
в тоя PFX трябва да има сертификат и частен ключ ... но openssl ми реве за некакви пароли, а PFX-а не би трябвало да има парола, щото не я виждам във сорса ( C# )
Опитвам се да обърна C# сорса на Python ... обаче всички PFX библиотеки не са "съвършенни" ... за тва ми трябва PEM

Код:
    public Task<byte[]> Sign(byte[] data)
    {
      byte[] hash;
      using (SHA256 shA256 = SHA256.Create()) hash = shA256.ComputeHash(data);
      using ( ECDsa ecDsaPrivateKey = ECDsaCertificateExtensions.GetECDsaPrivateKey( this.TestKey ) ) <----- няма парола
        return Task.FromResult<byte[]>(ecDsaPrivateKey.SignHash( hash ));
    }

....

this.TestKey .... PFX-a се зарежда от ресурса на EXE-to и пак не виждам пароли
using (BinaryReader binaryReader = new BinaryReader(manifestResourceStream))
          return new X509Certificate2(binaryReader.ReadBytes((int) manifestResourceStream.Length));


файла е тук
https://github.com/Wiz-IO/azure-sphere- ... ster/certs

другия CER е само за валидация и не се ползва в случая

_________________
main[-1u]={1};


Чет Окт 31, 2019 8:54 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10356
Местоположение: Добрич
Мнение Re: PFX сертификат
аз съм М$ анти-гуро, тия убавци не мога да ги понасям, особено на тема секюрити...

Въпросният файл е с ASN1 формат с DER енкодинг и съдържа някакви данни и sha (предполагам на данните, не съм чеквал).

Код:
$ openssl asn1parse -inform der -in meta_sign_pfx.pfx
    0:d=0  hl=4 l=1074 cons: SEQUENCE         
    4:d=1  hl=2 l=   1 prim: INTEGER           :03
    7:d=1  hl=4 l=1016 cons: SEQUENCE         
   11:d=2  hl=2 l=   9 prim: OBJECT            :pkcs7-data
   22:d=2  hl=4 l=1001 cons: cont [ 0 ]       
   26:d=3  hl=4 l= 997 prim: OCTET STRING      [HEX DUMP]:308203E1308202D706092A864886F70D010706A08202C8308202C4020100308202BD06092A864886F70D0
10701301C060A2A864886F70D010C0106300E0408C19A5CCFB4AE464D0202080080820290B8AF1AA87A9504A139
962FA75C455FA2BAD9402F0FBEA5B6B9D71974FEEE4D1B27475451879A957D2FEED25BEC9E3B65105EB6DE24C84
36A7AF274AAA45D7C0A42F549B9E3290E1B52B5B45CC7FFA0767A16F1DA29253883F433C14AD71B13F3572A5B42
F2EE083FE443DE0D22E1006538605B86A0DA23C2BD64F72B7FA95B1C64077498F61384CAF53A01A95C31131EA67
56EBDE7E1C3803AC4F9B1BCF67AA0BD48AF14FFDF5653455D625E2241C7A986486536E454A3FA9EF53AC6D2BDFD
AD3DFE4F65A6E8BBD3B6AE253D7F31FA24D2354A64ECD43EB7E39E2299662D676C70825D9C86876D77C4745218D
8618650B83E23AF656081913D06B645A4CC88B640BE78DAFB92B995EBA234A86BD852828B4D6B9D1A5C07599E9
3AF5B25FA7BA150118041B9A29734A7F88EB1F5D84FD762B0ED084B5367938F735F6DF81FF465A9D052555E22E6
2BF2D5C24F0E4BA90C7173F59E9B6CF563005C7CBB90D6D64869D2053FC8BAA4EEF5018755B23FC23C06EAAE8C5
2E74AA2CCDDBA330E755456AB3E5521DD91FBD8DE12439B2625FED2ECE6DF7DCFD74AFC175EF58485271E32FF8
FBB8B6F917C91BD9FC1AC7750F7EA1CAA60C0E53248B9D03D893CE7D044E75612AAE2F8EEB55E6152A6FFED0F4D
B0B58748CE281E69486102382256FA2F907282DBBCE3169737B30CC20085103448865ECF2E7F1569EA7846096C57
3252E27C39385ADC97DF7B5099EFFAD6D5110E9C5C00A12DD30F8F5A6394183057BD00629BE3378EF89A3DCF841
9DD0A540264705C775F244F2B14A1DA5CF58335D99F286538AED7E8E6CEF9BA25C842F4D2E8ECDFA53700333A52
2F16E5D27AC65C606D68C0F99DD7B0912D73C45BE0781C41A752CA66D04166C7DBE1B293DDC01B786C256B5B99
5FBA6BDDCAB87C0B56BB553082010206092A864886F70D010701A081F40481F13081EE3081EB060B2A864886F70D
010C0A0102A081B43081B1301C060A2A864886F70D010C0103300E0408DEA791BFE911E7EA02020800048190E167
920897462616F5D79F61303B475BEB918C6BC7C56A2B30EEEB662F4C8C17E46D9032E2B1A127A85B7F5B044E5FA23
FD2043A8F5CADAA0A018E6CA2C1DECFF217E38578C831D1C030DFB3151C03CFB0822CDF5224DBA39E54ADEEFB43
D25E482D48AD3274883C196488E4F9404FFF3C4101E2FE18D9D386701B858FD51FF45AC7803367DD0A4B30E26944
1B3ED2F23125302306092A864886F70D01091531160414A8D5CC6958F48710140D7A26160FC1CFC31F5DF0
1027:d=1  hl=2 l=  49 cons: SEQUENCE         
1029:d=2  hl=2 l=  33 cons: SEQUENCE         
1031:d=3  hl=2 l=   9 cons: SEQUENCE         
1033:d=4  hl=2 l=   5 prim: OBJECT            :sha1
1040:d=4  hl=2 l=   0 prim: NULL             
1042:d=3  hl=2 l=  20 prim: OCTET STRING      [HEX DUMP]:6A006FA80ED6EBF370EE699B9B44B52D9C398C52
1064:d=2  hl=2 l=   8 prim: OCTET STRING      [HEX DUMP]:9C19ECBEF20DE033
1074:d=2  hl=2 l=   2 prim: INTEGER           :0800


Доколкото данните са описани като pkcs7-data би следвало да са криптирани, М$ имат такъв обичай. Това е често срещана тяхна практика в други техни файлови формати, само че обикновено слагат и описание на криптирането, а тук не виждам такова... Пак съдейки по техните обичаи, криптирането най-вероятно е с публичния ключ от сертификата дето си дал. Проблемът обаче е че има стотици варианти на криптиране и ако трябва да го нацелваш ще е голяма играчка ;-)

едит: понацепих лога, че излиза гадно...


Последна промяна miro_atc на Чет Окт 31, 2019 9:32 am, променена общо 1 път



Чет Окт 31, 2019 9:20 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 8:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение Re: PFX сертификат
pfx винаги върви с парола (когато се конвертира в pfx се задава задължително)


Чет Окт 31, 2019 9:28 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10356
Местоположение: Добрич
Мнение Re: PFX сертификат
е има едно поленце след ша-то... може и да е парола, ама какво е криптирането?


Чет Окт 31, 2019 9:33 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Пет Яну 19, 2007 8:16 am
Мнения: 1063
Местоположение: путинофили: "иди н***й"
Мнение Re: PFX сертификат
преди години - така съм конвертирал cer в pfx (за codesign сертификати - сега вече са на донгъли):
CER->SPC->PFX + PASSWORD

cert2spc NAME.cer NAME.spc
pvk2pfx -pfx NAME.pfx -spc NAME.spc -po PASSWORD


(cert2spc.exe & pvk2pfx.exe са на MS - трябва да ги има по sdk-ta - мойте са от 2006)


Чет Окт 31, 2019 9:42 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: PFX сертификат
ECDsa256

_________________
main[-1u]={1};


Чет Окт 31, 2019 9:43 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10356
Местоположение: Добрич
Мнение Re: PFX сертификат
абе реве си за парола...

Код:
$ openssl pkcs12 -in meta_sign_pfx.pfx -info
Enter Import Password:
MAC: sha1, Iteration 2048
MAC length: 20, salt length: 8
PKCS7 Encrypted data: pbeWithSHA1And40BitRC2-CBC, Iteration 2048
Certificate bag
Bag Attributes
    localKeyID: A8 D5 CC 69 58 F4 87 10 14 0D 7A 26 16 0F C1 CF C3 1F 5D F0
subject=C = US, ST = Washington, L = Redmond, O = Microsoft Corporation, CN = Azure Sphere SDK Test

issuer=C = US, ST = Washington, L = Redmond, O = Microsoft Corporation, CN = Azure Sphere SDK Test

-----BEGIN CERTIFICATE-----
MIICMDCCAdWgAwIBAgIJAKH4XtbTyQ8QMAoGCCqGSM49BAMCMHQxCzAJBgNVBAYT
AlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdSZWRtb25kMR4wHAYD
VQQKDBVNaWNyb3NvZnQgQ29ycG9yYXRpb24xHjAcBgNVBAMMFUF6dXJlIFNwaGVy
ZSBTREsgVGVzdDAeFw0xODA1MjIwMTE2MjVaFw0zODA1MTcwMTE2MjVaMHQxCzAJ
BgNVBAYTAlVTMRMwEQYDVQQIDApXYXNoaW5ndG9uMRAwDgYDVQQHDAdSZWRtb25k
MR4wHAYDVQQKDBVNaWNyb3NvZnQgQ29ycG9yYXRpb24xHjAcBgNVBAMMFUF6dXJl
IFNwaGVyZSBTREsgVGVzdDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABO3yM8AN
MRQdjz9WM0NAzNjBaftn4uxWS/il71hrHD97wYjKIIcB5tfHdWoTJjj+mMmgIAdA
PeXEIuan6CakvSSjUDBOMB0GA1UdDgQWBBRjsI/w+PfZeFjjM5tQcFL6HcyeizAf
BgNVHSMEGDAWgBRjsI/w+PfZeFjjM5tQcFL6HcyeizAMBgNVHRMEBTADAQH/MAoG
CCqGSM49BAMCA0kAMEYCIQD2dyGZaKdjz5/90K7OH+d8A5zc7tLvviXa3KEucrGv
ugIhAIoNe5ddI4GhgN4FWOMlnq+VgWzeP25sowIc4g4dFFtC
-----END CERTIFICATE-----
PKCS7 Data
Shrouded Keybag: pbeWithSHA1And3-KeyTripleDES-CBC, Iteration 2048
Bag Attributes
    localKeyID: A8 D5 CC 69 58 F4 87 10 14 0D 7A 26 16 0F C1 CF C3 1F 5D F0
Key Attributes: <No Attributes>
Enter PEM pass phrase:
Error outputting keys and certificates


Чет Окт 31, 2019 10:10 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: PFX сертификат
ам как взима private_key в C# сорса

using ( ECDsa ecDsaPrivateKey = ECDsaCertificateExtensions.GetECDsaPrivateKey( TestKey ) ) <----- няма парола
return ecDsaPrivateKey.SignHash( hash );

_________________
main[-1u]={1};


Чет Окт 31, 2019 10:29 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10356
Местоположение: Добрич
Мнение Re: PFX сертификат
всъщност нещо такова трябва да е, но не е много сигурно щото го вадя без парола... (*.txt заради форума)


Прикачени файлове:
cer-nocerts.pem.txt [1.44 KiB]
187 пъти
Чет Окт 31, 2019 10:32 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: PFX сертификат
Миро, можеш ли да изкараш публик кея

_________________
main[-1u]={1};


Чет Окт 31, 2019 10:36 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10356
Местоположение: Добрич
Мнение Re: PFX сертификат
малко трудно, щото идея си нямам какви са тия данни... а пък openssl-a ми иска парола, аз не му давам и той ме псува ;-)


Чет Окт 31, 2019 11:03 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: PFX сертификат
направих неква "щуротия"
щото ми забива openssl-а на PKCS#12/PFX го бастисах онлайн
https://www.sslshopper.com/ssl-converter.html
което даде същото като твоя "TXT"
от тук
https://wiki.openssl.org/index.php/Comm ... Operations
джаснах тва
openssl ec -in meta_sign_pfx.pem -out ecprivkey.pem
openssl ec -in meta_sign_pfx.pem -pubout -out ecpubkey.pem

и с последните два пема пробвах:

Код:
dir = os.path.dirname( sys.argv[0] )
msg = 'message'

f = open(join(dir, 'certs', 'ecprivkey.pem'), 'r' )
pk = PrivateKey.fromPem(f.read())
f = open(join(dir, 'certs', 'ecpubkey.pem'), 'r' )
pb = PublicKey.fromPem(f.read())

signature = Ecdsa.sign(msg, pk)
print(Ecdsa.verify(msg, signature, pb))


и вика verify = TRUE
а дали е така - беш ли мааму

_________________
main[-1u]={1};


Чет Окт 31, 2019 11:09 am
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Нед Фев 26, 2006 5:52 pm
Мнения: 10356
Местоположение: Добрич
Мнение Re: PFX сертификат
eee щом верификацията минава значи си се справил добре ;-)


Чет Окт 31, 2019 11:18 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: PFX сертификат
бе нящо са омазах :)
проверих public key е верен, има го във PFX както и в firmware( тук има public и thumbprint ) обаче е записан в обратен ред ?!? а thumbprint е в прав ред
за private- не съм сигурен ... ма като го зарежда не реве че не е курва .... крива

_________________
main[-1u]={1};


Чет Окт 31, 2019 8:17 pm
Профил ICQ
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Сря Апр 27, 2005 11:48 am
Мнения: 4671
Мнение Re: PFX сертификат
YES !!! ... змии и гущери ще плюват М$ :)


Прикачени файлове:
sig.jpg
sig.jpg [ 241.02 KiB | Прегледано 5056 пъти ]

_________________
main[-1u]={1};
Пет Ное 01, 2019 6:37 pm
Профил ICQ
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 15 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни