Commit 09d64ed4 authored by filatov's avatar filatov
Browse files

Use proper keys to sign messages

parent 6e89293c
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -39,11 +39,12 @@ module LibItsSecurity_Functions {
        * @return  The signature value
        */
        function f_signWithEcdsaNistp256WithSha256(
                                                   in octetstring p_toBeSignedSecuredMessage
                                                   in octetstring p_toBeSignedSecuredMessage,
                                                   in Oct32 p_privateKey
        ) runs on ItsSecurityBaseComponent return octetstring {
            return fx_signWithEcdsaNistp256WithSha256(
                p_toBeSignedSecuredMessage,
                vc_signingPrivateKey
			    p_privateKey
            );
            
        } // End of function f_signWithEcdsaNistp256WithSha256
@@ -160,6 +161,7 @@ module LibItsSecurity_Functions {
             */
            function f_buildGnSecuredMessage(
                                             out template (value) SecuredMessage p_securedMessage,
                                             in template (value) charstring p_certificateName,
                                             in template (value) SecPayload p_payloadField,
                                             in template (value) HeaderFields p_mandatoryHeaders,
                                             in template (omit) HeaderFields p_headerFields := omit
@@ -172,6 +174,7 @@ module LibItsSecurity_Functions {
                var integer i, j, k, n;
                var HeaderFields v_headerFields := {};
                var SecPayload v_toBeSignedPayload;
				var Oct32 v_privateKey;
                
                // Prepare headers
                if (not(ispresent(p_headerFields))) {
@@ -241,8 +244,11 @@ module LibItsSecurity_Functions {
				// FIXME BUG Framework already compute the hash v_hash := f_hashWithSha256(v_secPayload);
                
                // Signed payload
				if(not f_readSigningKey(p_certificateName, v_privateKey)){
					return false;
				}
                v_signature := f_signWithEcdsaNistp256WithSha256(
				    v_secPayload // FIXME BUG Framework already compute the hash v_hash
				    v_secPayload, v_privateKey // FIXME BUG Framework already compute the hash v_hash
                );
                
                p_securedMessage := m_securedMessage(
@@ -321,7 +327,7 @@ module LibItsSecurity_Functions {
                        v_signerInfo := valueof(
                            m_header_field_signer_info(
                                m_signerInfo_digest(
                                    v_atCertificate.signer_info.signerInfo.digest
                                    f_calculateDigestFromCertificate(v_atCertificate)
                        )));
                    }
                    v_mandatoryHeaders := {
@@ -331,7 +337,7 @@ module LibItsSecurity_Functions {
                    }
                }
                
                return f_buildGnSecuredMessage(p_securedMessage, p_payloadField, v_mandatoryHeaders, p_headerFields);
                return f_buildGnSecuredMessage(p_securedMessage, p_certificateName, p_payloadField, v_mandatoryHeaders, p_headerFields);
                
            } // End of function f_buildGnSecuredCam

@@ -403,7 +409,7 @@ module LibItsSecurity_Functions {
                }
                
                // Build the secured message and return it
                return f_buildGnSecuredMessage(p_securedMessage, p_payloadField, v_mandatoryHeaders, p_headerFields);
                return f_buildGnSecuredMessage(p_securedMessage, p_certificateName, p_payloadField, v_mandatoryHeaders, p_headerFields);
                
            } // End of function f_buildGnSecuredDenm
            
@@ -474,7 +480,7 @@ module LibItsSecurity_Functions {
                }
                
                // Build the secured message and return it
                return f_buildGnSecuredMessage(p_securedMessage, p_payloadField, v_mandatoryHeaders, p_headerFields);
                return f_buildGnSecuredMessage(p_securedMessage, p_certificateName, p_payloadField, v_mandatoryHeaders, p_headerFields);
            } // End of function f_buildGnSecuredOtherMessage
            
        } // End of group hostSignatureHelpers