Re: [openssl-users] PKCS7 and RSA_verify
On 10/01/2017 01:27 AM, Sam Roberts wrote: On Thu, Sep 28, 2017 at 2:28 AM, chwrote: Hi! I thought the difference between PEM and DER is NOT ONLY a different encoding of the string? base64 vs. binary So to understand that clear please let me ask: If I convert a PEM-signature from base64 to binary then it is DER? Yes. Well, technically it could be BER as well, but the main point is PEM is just a wrapper to transport binary via email safe text, and you can unwrap it if you want. PEM also includes a header, so you know if the object is a cert, a key, an encrypted message, etc, meta-data which is not known if you just have the binary chunk. Indeed, PEM for S/MIME looks like -BEGIN PKCS7- -END PKCS7- so you must add the header ("-BEGIN PKCS7-") and the trailer Thanks Chris On 2017-09-28 11:23, Wouter Verhelst wrote: On 28-09-17 01:19, ch wrote> If the pkcs-signature is binary encoded it is not working for verifiying a SMIME-message in my experience with smime or cms-smime on the console. I tried to convert the binary ones to base64 but that does not everytime the trick. What you call "base64" is commonly known as "PEM" :-) You can get it to parse binary, but to do so you need to specify "-inform der". -- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users -- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Re: [openssl-users] PKCS7 and RSA_verify
On Thu, Sep 28, 2017 at 2:28 AM, chwrote: > Hi! > > I thought the difference between PEM and DER is NOT ONLY a different > encoding of the string? > base64 vs. binary > > So to understand that clear please let me ask: > If I convert a PEM-signature from base64 to binary then it is DER? Yes. Well, technically it could be BER as well, but the main point is PEM is just a wrapper to transport binary via email safe text, and you can unwrap it if you want. PEM also includes a header, so you know if the object is a cert, a key, an encrypted message, etc, meta-data which is not known if you just have the binary chunk. > > Thanks > Chris > > On 2017-09-28 11:23, Wouter Verhelst wrote: >> >> On 28-09-17 01:19, ch wrote> If the pkcs-signature is binary encoded it >> is not working for verifiying >>> >>> a SMIME-message in my experience with >>> smime or cms-smime on the console. I tried to convert the binary ones to >>> base64 but that does not everytime the trick. >> >> What you call "base64" is commonly known as "PEM" :-) >> >> You can get it to parse binary, but to do so you need to specify >> "-inform der". >> > > -- > openssl-users mailing list > To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users -- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Re: [openssl-users] PKCS7 and RSA_verify
Hi! I thought the difference between PEM and DER is NOT ONLY a different encoding of the string? base64 vs. binary So to understand that clear please let me ask: If I convert a PEM-signature from base64 to binary then it is DER? Thanks Chris On 2017-09-28 11:23, Wouter Verhelst wrote: On 28-09-17 01:19, ch wrote> If the pkcs-signature is binary encoded it is not working for verifiying a SMIME-message in my experience with smime or cms-smime on the console. I tried to convert the binary ones to base64 but that does not everytime the trick. What you call "base64" is commonly known as "PEM" :-) You can get it to parse binary, but to do so you need to specify "-inform der". -- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Re: [openssl-users] PKCS7 and RSA_verify
On 28-09-17 01:19, ch wrote> If the pkcs-signature is binary encoded it is not working for verifiying > a SMIME-message in my experience with > smime or cms-smime on the console. I tried to convert the binary ones to > base64 but that does not everytime the trick. What you call "base64" is commonly known as "PEM" :-) You can get it to parse binary, but to do so you need to specify "-inform der". -- Wouter Verhelst -- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Re: [openssl-users] PKCS7 and RSA_verify
Hello! Thanks for the support. On 2017-09-28 01:06, Dr. Stephen Henson wrote: On Thu, Sep 28, 2017, ch wrote: Hello! I am working on a tool for verifying SMIME-messages. Because cms and smime is only able to verify base64 pkcs7-signatures I try to do it "manually" and I now have a problem with the signing-timestamp. I'm not sure what you mean by "only able to verify base64 pkcs7-signatures" it can handle PEM and DER forms too. If the pkcs-signature is binary encoded it is not working for verifiying a SMIME-message in my experience with smime or cms-smime on the console. I tried to convert the binary ones to base64 but that does not everytime the trick. Lets do an example: openssl smime -sign -md sha1 -in plain.txt -inkey mykey -signer mycert -noattr -outform der | openssl asn1parse -inform der If I put plain.txt and the 128 byte signature (from asn1parse out of the pkcs7) into RSA_verify it works perfectly. Every call would produce the same signature-hexdump. But if I remove the -noattr the signature-value will be different every second and then RSA_verify it not working anymore. How can I handle this? When you don't use attributes the signature is over performed over the content. If you use attributes then the signature is over the encoding of a bunch of attributes including a signing time and the digest of the content. Because the signing time changes the data being signed in the attributes changes too. Would PKCS7_verify (or something else) handle that for me or do I need to consider that different content with RSA_verify? Steve. -- Dr Stephen N. Henson. OpenSSL project core developer. Commercial tech support now available see: http://www.openssl.org Again, thanks for the support! chris -- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
Re: [openssl-users] PKCS7 and RSA_verify
On Thu, Sep 28, 2017, ch wrote: > Hello! > > I am working on a tool for verifying SMIME-messages. > Because cms and smime is only able to verify base64 pkcs7-signatures > I try to do it "manually" and I now have a problem with the > signing-timestamp. > I'm not sure what you mean by "only able to verify base64 pkcs7-signatures" it can handle PEM and DER forms too. > Lets do an example: > > openssl smime -sign -md sha1 -in plain.txt -inkey mykey -signer > mycert -noattr -outform der | openssl asn1parse -inform der > > If I put plain.txt and the 128 byte signature (from asn1parse out of > the pkcs7) into RSA_verify it works perfectly. > Every call would produce the same signature-hexdump. > > But if I remove the -noattr the signature-value will be different > every second and then RSA_verify it not working anymore. > > How can I handle this? > When you don't use attributes the signature is over performed over the content. If you use attributes then the signature is over the encoding of a bunch of attributes including a signing time and the digest of the content. Because the signing time changes the data being signed in the attributes changes too. Steve. -- Dr Stephen N. Henson. OpenSSL project core developer. Commercial tech support now available see: http://www.openssl.org -- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users
[openssl-users] PKCS7 and RSA_verify
Hello! I am working on a tool for verifying SMIME-messages. Because cms and smime is only able to verify base64 pkcs7-signatures I try to do it "manually" and I now have a problem with the signing-timestamp. Lets do an example: openssl smime -sign -md sha1 -in plain.txt -inkey mykey -signer mycert -noattr -outform der | openssl asn1parse -inform der If I put plain.txt and the 128 byte signature (from asn1parse out of the pkcs7) into RSA_verify it works perfectly. Every call would produce the same signature-hexdump. But if I remove the -noattr the signature-value will be different every second and then RSA_verify it not working anymore. How can I handle this? Thanks! Chris -- openssl-users mailing list To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-users