Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TTCN-3 Libraries
LibIts
Commits
3322fc51
Commit
3322fc51
authored
Sep 30, 2014
by
garciay
Browse files
Add support of secured beacon with certificate in TA
parent
7e714d0e
Changes
3
Hide whitespace changes
Inline
Side-by-side
ttcn/Security/LibItsSecurity_Functions.ttcn3
View file @
3322fc51
...
...
@@ -123,32 +123,55 @@ module LibItsSecurity_Functions {
/**
* @desc Build a template of a secured beacon to be used for the Test Adapter secured beaconing processing
*/
function
f_buildSecuredMessagePayloadToBeSigned
()
function
f_buildSecuredMessagePayloadToBeSigned
(
in
boolean
p_includeCertificate
:=
false
)
return
ToBeSignedSecuredMessage
{
// Local variables
var
template
(
value
)
ToBeSignedSecuredMessage
v_toBeSignedSecuredMessage
;
// Build the beacon template
v_toBeSignedSecuredMessage
:=
m_toBeSignedSecuredMessage
(
c_security_profileOthers
,
{
// Field HeaderFields
m_header_field_signer_info
(
m_signerInfo_certificate
(
PX_TA_CONFIGS
[
PX_CERTIFICATE_CONFIG_IDX
].
atCertificate
)
// End of template m_signerInfo_certificate
),
// End of template m_header_field_signer_info
m_header_field_generation_time
(
oct2int
(
'
BBBBBBBB
'
O
)),
// To be replaced by TA with current time
m_header_field_generation_location
(
PX_TA_CONFIGS
[
PX_CERTIFICATE_CONFIG_IDX
].
location
)
},
// End of field HeaderFields
{
m_payload_unsecured
(
'
AAAAAAAAAA
'
O
// To be replaced by TA with real payload
)
},
// End of field HeaderFields
e_signature
);
if
(
p_includeCertificate
==
true
)
{
v_toBeSignedSecuredMessage
:=
m_toBeSignedSecuredMessage
(
c_security_profileOthers
,
{
// Field HeaderFields
m_header_field_signer_info
(
m_signerInfo_certificate
(
PX_TA_CONFIGS
[
PX_CERTIFICATE_CONFIG_IDX
].
atCertificate
)
// End of template m_signerInfo_certificate
),
// End of template m_header_field_signer_info
m_header_field_generation_time
(
oct2int
(
'
BBBBBBBB
'
O
)),
// To be replaced by TA with generation time
m_header_field_generation_location
(
PX_TA_CONFIGS
[
PX_CERTIFICATE_CONFIG_IDX
].
location
)
},
// End of field HeaderFields
{
m_payload_unsecured
(
'
AAAAAAAAAA
'
O
// To be replaced by TA with real payload
)
},
// End of field HeaderFields
e_signature
);
}
else
{
v_toBeSignedSecuredMessage
:=
m_toBeSignedSecuredMessage
(
c_security_profileOthers
,
{
// Field HeaderFields
m_header_field_signer_info
(
m_signerInfo_digest
(
PX_TA_CONFIGS
[
PX_CERTIFICATE_CONFIG_IDX
].
atCertificate
.
signer_infos
[
0
].
signerInfo
.
digest
)
// End of template m_signerInfo_certificate
),
// End of template m_header_field_signer_info
m_header_field_generation_time
(
oct2int
(
'
BBBBBBBB
'
O
)),
// To be replaced by TA with generation time
m_header_field_generation_location
(
PX_TA_CONFIGS
[
PX_CERTIFICATE_CONFIG_IDX
].
location
)
},
// End of field HeaderFields
{
m_payload_unsecured
(
'
AAAAAAAAAA
'
O
// To be replaced by TA with real payload
)
},
// End of field HeaderFields
e_signature
);
}
return
valueof
(
v_toBeSignedSecuredMessage
);
}
...
...
@@ -656,11 +679,12 @@ module LibItsSecurity_Functions {
out
HeaderField
p_return
)
return
boolean
{
var
integer
v_length
:=
lengthof
(
p_securedMessage
.
header_fields
);
var
SecuredMessage
v_securedMessage
:=
valueof
(
p_securedMessage
);
for
(
var
integer
i
:=
0
;
i
<
v_length
;
i
:=
i
+
1
)
{
if
(
v
alueof
(
p
_securedMessage
)
.
header_fields
[
i
].
type_
==
p_headerFieldType
)
{
p_return
:=
v
alueof
(
p
_securedMessage
)
.
header_fields
[
i
];
//
log("f_getMsgHeaderField: p_return=", p_return);
if
(
v_securedMessage
.
header_fields
[
i
].
type_
==
p_headerFieldType
)
{
p_return
:=
v_securedMessage
.
header_fields
[
i
];
log
(
"f_getMsgHeaderField: p_return="
,
p_return
);
return
true
;
}
}
...
...
ttcn/Security/LibItsSecurity_Templates.ttcn3
View file @
3322fc51
...
...
@@ -2040,15 +2040,17 @@ module LibItsSecurity_Templates {
in
Oct32
p_encryptPrivateKey
,
in
Oct32
p_encryptPublicKeyX
,
in
Oct32
p_encryptPublicKeyY
,
in
octetstring
p_ToBeSignedSecuredMessageTemplate
in
octetstring
p_toBeSignedSecuredMessageTemplateDigest
,
in
octetstring
p_toBeSignedSecuredMessageTemplateCertificate
)
:=
{
signingPrivateKey
:=
p_signingPrivateKey
,
signingPublicKeyX
:=
p_signingPublicKeyX
,
signingPublicKeyY
:=
p_signingPublicKeyY
,
encryptPrivateKey
:=
p_encryptPrivateKey
,
encryptPublicKeyX
:=
p_encryptPublicKeyX
,
encryptPublicKeyY
:=
p_encryptPublicKeyY
,
ToBeSignedSecuredMessageTemplate
:=
p_ToBeSignedSecuredMessageTemplate
signingPrivateKey
:=
p_signingPrivateKey
,
signingPublicKeyX
:=
p_signingPublicKeyX
,
signingPublicKeyY
:=
p_signingPublicKeyY
,
encryptPrivateKey
:=
p_encryptPrivateKey
,
encryptPublicKeyX
:=
p_encryptPublicKeyX
,
encryptPublicKeyY
:=
p_encryptPublicKeyY
,
toBeSignedSecuredMessageTemplateDigest
:=
p_toBeSignedSecuredMessageTemplateDigest
,
toBeSignedSecuredMessageTemplateCertificate
:=
p_toBeSignedSecuredMessageTemplateCertificate
}
// End of template m_enableSecurity
/**
...
...
ttcn/Security/LibItsSecurity_TypesAndValues.ttcn3
View file @
3322fc51
...
...
@@ -837,7 +837,8 @@ module LibItsSecurity_TypesAndValues {
Oct32
encryptPrivateKey
,
Oct32
encryptPublicKeyX
,
Oct32
encryptPublicKeyY
,
octetstring
ToBeSignedSecuredMessageTemplate
octetstring
toBeSignedSecuredMessageTemplateDigest
,
octetstring
toBeSignedSecuredMessageTemplateCertificate
}
// End of type AcEnableSecurity
/**
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment