pyopenssl
pyopenssl copied to clipboard
Verify after sign fails
I have this code:
challenge = b("THis is challenge")
digest = "sha1"
pkey = crypto.load_privatekey(crypto.FILETYPE_PEM, PRIVKEY)
cert = crypto.load_certificate(crypto.FILETYPE_PEM, SELFCERT)
signature = crypto.sign(pkey, challenge, digest)
crypto.verify(cert, signature, challenge, digest)
which fails with this error:
Error: [('rsa routines', 'RSA_padding_check_PKCS1_type_1', 'block type is not 01'), ('rsa routines', 'RSA_EAY_PUBLIC_DECRYPT', 'padding check failed')]
Unfortunately I absolute can not see why my cert and privkey fail. My same code runs with the key and cert from your tests.
These are the certificate and the key wich I generated this way:
openssl req -new -x509 -key privkey.pem -out selfcert.pem -days 1095 -sha1
-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAqTKGiYgjawrbsb2cWGSTJtzE0NUvd4HCDAqrxrAk+wL92QPf 60UFP+ehwAfSWxk2xZM6jUBUvKH7w+1mz0tIyeJ1K8VSRhNWca+Pn7t+XNpTmVYC A05r2imZwYjhyUqCtv0r5QWU62EbD1UllHn6zHPrhPvn8ucxXenXXXV9vDcW+rmF cA+J+Sp2skoIIBSwLK8FLd6+JX8OPmvGEN4MrvfsCrmm7BfbC0f0hlIneuTUaGmR QrSfR5XHTmUmF5N7zm7pGPqNMCfWg44z/ujlNIotHZSXNz9KdVJhaVvTEZpJ/VAr ka+z2ohnL2IonU4m+zokcYdYYHGIZxf+CvgqJQIDAQABAoIBAQCIwsNGdZkTU8KC p52xQRJEblxT5I2qjmK38wQn5IbvsdpXyK7871wv7F2s52WbpwTDrJ6+P8p+cnwb QVBBrDuYm4hUKfm3lLfhyqNP3HBmQz8hiQi1fXTl8YxLiAXg+24u1PLe+qUFoQcL XKq0megjzGsJocg5abBYlcQz0d0g/SIBZ8tORqo3ekeRMMvVC5qxsYtsRcUq6wGn 49lNxcbh4Hm2uOENUtpEDwwbsweSzMjRyH6ItbR8bzG8D0P1ItLHvEG4UvQqrAmh OeI2pNvtKD+vrLrax9PilrPhFqNsvU4dmzs/AcRHzE3edJE0o0YH0NHh7m7VcW6R y7YLw0n9AoGBANOkQWDU3PzYx7PDU369LW8kg2n4xKRR4z6FTc2Y0tfGwiPOORLq z8egqprfrE9sLv+IHsdIlliLdSj2riNwYjC4O6fPZWayv3jHhDAtyMSJZ4VhdjdC 4zwfcyqlmpAUBLeBvWbmNWLtoN2pqYZNxQuVgxheEaymcKQ6N917S17DAoGBAMyo 5pqyUSdxKAP6iRT0PQU1BCRtNUXTFfueWzMHKY6wke7h0JB+2oWKOTeE6RHVJtSW mPhV7YTMyEMp7iuPPjTgw/J8/nJUmYvseWt9PDPaonhMQ9NHR52Rf8lAw3BQbUc7 4xA93k6eFMIG4GTVY1Twc5R6kUudjCxObCJ6PZT3AoGARCy6Hq4TDaPrGH4IDGB2 HUI+zski1ufF8uLQADWFXZqZ+Ry6B9z5141qx37bq63mqcu4VmuMerNZpztnNuVB y/3cwZ6uRFm6Efb7HuXwsVatsSqHASAbwMdEuu0jj9vS9SXm1Bm+AsMXObAoeqnc mnGsDBJpURtAV7alPkQ0MC8CgYAydia919+4qObj7D8mgn4VLZhC3wZ2m/BcpRP5 hfeSLikdTGJfble0+3rWHJhXBEZZvnQjLxSsXM23+bu208/Tu+O0g2s9h2yAmqLp hOx2IJ9UqAFFM9sNl9V5KtXFeJ8pJDP9SjPpEIMvwABN/GtMgykMYBg5G7R3LDLv YVKTywKBgDrbRbV3fpbeOVaCYWGcjDR2Q8MRjFW9gJI88DoDiNte5iRULFPuOMbv 9RfG8Y++Tv/OvrzAedx/jHTGFd8Oz5G6J8BdFDMVYTwir82iHj2gNKCnQ/0DMQ/G Qq81iQQ9ZlQmszWBo2GW046A8i0u1xWSbTqmp8M/sABJ0oY8c6Mx -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIDeTCCAmGgAwIBAgIJAPAPJ8WdLjWaMA0GCSqGSIb3DQEBBQUAMFMxCzAJBgNV BAYTAkRFMQ8wDQYDVQQIDAZIZXNzZW4xDzANBgNVBAcMBkthc3NlbDETMBEGA1UE CgwKTmV0S25pZ2h0czENMAsGA1UEAwwEdGVzdDAeFw0xNTA1MTgxNTAxMzlaFw0x ODA1MTcxNTAxMzlaMFMxCzAJBgNVBAYTAkRFMQ8wDQYDVQQIDAZIZXNzZW4xDzAN BgNVBAcMBkthc3NlbDETMBEGA1UECgwKTmV0S25pZ2h0czENMAsGA1UEAwwEdGVz dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKkyhomII2sK27G9nFhk kybcxNDVL3eBwgwKq8awJPsC/dkD3+tFBT/nocAH0lsZNsWTOo1AVLyh+8PtZs9L SMnidSvFUkYTVnGvj5+7flzaU5lWAgNOa9opmcGI4clKgrb9K+UFlOthGw9VJZR5 +sxz64T75/LnMV3p1111fbw3Fvq5hXAPifkqdrJKCCAUsCyvBS3eviV/Dj5rxhDe DK737Aq5puwX2wtH9IZSJ3rk1GhpkUK0n0eVx05lJheTe85u6Rj6jTAn1oOOM/7o 5TSKLR2Ulzc/SnVSYWlb0xGaSf1QK5Gvs9qIZy9iKJ1OJvs6JHGHWGBxiGcX/gr4 KiUCAwEAAaNQME4wHQYDVR0OBBYEFGzQQ9Ey7Kx6fSoAdJTF+6Uxo0U7MB8GA1Ud IwQYMBaAFGzQQ9Ey7Kx6fSoAdJTF+6Uxo0U7MAwGA1UdEwQFMAMBAf8wDQYJKoZI hvcNAQEFBQADggEBAHWnIbqry3UP31qxTCCRilPpaUfmV3pBlHW3Pnv339JcISOB Mx8SjunzlUDzqBD+6/L7U0kvk79QmGTanZP1v+Ew2RBYHtFY9ht2c6/5dlOljQL3 8dBUk5v+DBQ1+Sa6/0IDZLLIj1hhAVtLelx9Qwq+gPvaUu3T+6GzZAXPs1h+1dUp DZ1olhrkCZz5sdT4FqFyaC6WMbHZUk8IO1yFM5I2bW8flyDBhF+KFEMPXICXwOHu NsLPTE9l8p6FotTeC8xwVxGhrKg0OsBWl0y9wPRRYu3u9kZEdzD/+B5Z1VGXXnfU ifNhvS/bN2jSKg95JKSOEhnqWk2jMntViwzekYs= -----END CERTIFICATE-----