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
5d8bcbab
Commit
5d8bcbab
authored
May 17, 2021
by
YannGarcia
Browse files
STF594: Add new CAM tests
parent
913d1303
Changes
4
Hide whitespace changes
Inline
Side-by-side
ttcn/GeoNetworking/LibItsGeoNetworking_Functions.ttcn
View file @
5d8bcbab
...
...
@@ -1275,10 +1275,10 @@ module LibItsGeoNetworking_Functions {
var
UtGnEventInd
v_ind
;
[
vc_utDefaultActive
]
utPort
.
receive
(
UtGnEventInd
:?
)
->
value
v_ind
{
//store every upper tester indication received
log
(
"################# v_ind: "
,
v_ind
);
log
(
"################# vc_utInds: "
,
vc_utInds
);
log
(
"################# lengthof(vc_utInds): "
,
lengthof
(
vc_utInds
));
//log("################# v_ind: ", v_ind);
vc_utInds
[
lengthof
(
vc_utInds
)]
:=
v_ind
;
//log("################# vc_utInds: ", vc_utInds);
//log("################# lengthof(vc_utInds): ", lengthof(vc_utInds));
repeat
;
}
[
vc_utDefaultActive
]
utPort
.
receive
{
...
...
ttcn/Security/LibItsSecurity_Functions.ttcn
View file @
5d8bcbab
...
...
@@ -21,7 +21,7 @@ module LibItsSecurity_Functions {
import
from
EtsiTs103097Module
language
"ASN.1:1997"
all
;
// LibItsCommon
//
import from LibItsCommon_Functions all;
import
from
LibItsCommon_Functions
all
;
//import from LibItsCommon_TypesAndValues all;
import
from
LibItsCommon_Pixits
all
;
...
...
@@ -1086,8 +1086,7 @@ module LibItsSecurity_Functions {
out
EtsiTs103097Data
p_securedMessage
,
in
ToBeSignedData
p_payloadField
,
in
SignerIdentifier
p_signerIdentifierType
,
in
charstring
p_certificateName
:=
""
/*,
in boolean p_addMissingHeaders := true*/
in
charstring
p_certificateName
:=
""
)
runs
on
ItsSecurityBaseComponent
return
boolean
{
// Local variables
var
EtsiTs103097Certificate
v_aaCertificate
,
v_atCertificate
;
...
...
@@ -1116,27 +1115,8 @@ module LibItsSecurity_Functions {
)
));
// Prepare mandatory headers
//log("f_buildGnSecuredCam: p_signerIdentifierType=", p_signerIdentifierType);
if
(
ischosen
(
p_signerIdentifierType
.
certificate
))
{
// Add the AT certificate
log
(
"*** "
&
testcasename
()
&
"f_buildGnSecuredCam: TODO ***"
);
stop
;
/* TODO
* v_signerInfo := valueof(
m_header_info_signer_info(
m_signerIdentifier_certificate(
v_atCertificate
)));
} else if (valueof(p_signerIdentifierType) == e_certificate_chain) { // Add the AT certificate + AA EtsiTs103097Certificate
v_signerInfo := valueof(
m_header_info_signer_info(
m_signerIdentifier_certificates(
{
v_aaCertificate,
v_atCertificate
}
)
));*/
}
else
if
(
ischosen
(
p_signerIdentifierType
.
digest
))
{
// Add the AT certificate digest
log
(
"f_buildGnSecuredCam: p_signerIdentifierType="
,
p_signerIdentifierType
);
if
(
ischosen
(
p_signerIdentifierType
.
digest
))
{
// Add the AT certificate digest
if
(
ischosen
(
v_atCertificate
.
issuer
.
sha256AndDigest
))
{
p_securedMessage
.
content
.
signedData
.
hashId
:=
sha256
;
p_securedMessage
.
content
.
signedData
.
signer
:=
valueof
(
m_signerIdentifier_digest
(
...
...
@@ -1148,9 +1128,6 @@ module LibItsSecurity_Functions {
f_calculateDigestSha384FromCertificate
(
v_atCertificate
)
));
}
}
else
{
log
(
"*** "
&
testcasename
()
&
"f_buildGnSecuredCam: TODO ***"
);
stop
;
}
if
(
ispresent
(
v_atCertificate
.
signature_
))
{
if
(
ischosen
(
v_atCertificate
.
signature_
.
ecdsaBrainpoolP256r1Signature
))
{
...
...
@@ -1167,9 +1144,9 @@ module LibItsSecurity_Functions {
int2oct
(
0
,
48
)
)
));
}
// else, m_signature_ecdsaNistP256 already chosen by default
}
// else, m_signature_ecdsaNistP256 already chosen by default
}
//
log("f_buildGnSecuredCam: p_securedMessage = ", p_securedMessage);
log
(
"f_buildGnSecuredCam: p_securedMessage = "
,
p_securedMessage
);
return
f_buildGnSecuredMessage
(
p_securedMessage
,
p_certificateName
,
p_payloadField
/*, v_mandatoryHeaders*/
);
...
...
@@ -1194,6 +1171,12 @@ module LibItsSecurity_Functions {
in
SignerIdentifier
p_signerIdentifierType
,
// FIXME To be reviewed
in
charstring
p_certificateName
,
in
UInt8
p_protocolVersion
,
in
boolean
p_alter_psid
,
in
boolean
p_add_generation_location
,
in
boolean
p_add_expiry_time
,
in
boolean
p_add_p2pcd_learning_request
,
in
boolean
p_add_missing_crl_identifier
,
in
boolean
p_add_encryption_key
,
in
boolean
p_alterIssuerIdentifier
,
in
boolean
p_alterATCertificateSignature
,
in
boolean
p_alterAACertificateSignature
...
...
@@ -1225,26 +1208,7 @@ module LibItsSecurity_Functions {
));
// Prepare mandatory headers
//log("f_buildGnSecuredCam: p_signerIdentifierType=", p_signerIdentifierType);
if
(
ischosen
(
p_signerIdentifierType
.
certificate
))
{
// Add the AT certificate
log
(
"*** "
&
testcasename
()
&
"f_buildGnSecuredCam: TODO ***"
);
stop
;
/* TODO
* v_signerInfo := valueof(
m_header_info_signer_info(
m_signerIdentifier_certificate(
v_atCertificate
)));
} else if (valueof(p_signerIdentifierType) == e_certificate_chain) { // Add the AT certificate + AA EtsiTs103097Certificate
v_signerInfo := valueof(
m_header_info_signer_info(
m_signerIdentifier_certificates(
{
v_aaCertificate,
v_atCertificate
}
)
));*/
}
else
if
(
ischosen
(
p_signerIdentifierType
.
digest
))
{
// Add the AT certificate digest
if
(
ischosen
(
p_signerIdentifierType
.
digest
))
{
// Add the AT certificate digest
if
(
ischosen
(
v_atCertificate
.
issuer
.
sha256AndDigest
))
{
p_securedMessage
.
content
.
signedData
.
hashId
:=
sha256
;
p_securedMessage
.
content
.
signedData
.
signer
:=
valueof
(
m_signerIdentifier_digest
(
...
...
@@ -1256,9 +1220,6 @@ module LibItsSecurity_Functions {
f_calculateDigestSha384FromCertificate
(
v_atCertificate
)
));
}
}
else
{
log
(
"*** "
&
testcasename
()
&
"f_buildGnSecuredCam: TODO ***"
);
stop
;
}
if
(
ispresent
(
v_atCertificate
.
signature_
))
{
if
(
ischosen
(
v_atCertificate
.
signature_
.
ecdsaBrainpoolP256r1Signature
))
{
...
...
@@ -1281,7 +1242,27 @@ module LibItsSecurity_Functions {
// Alter protocolVersion
p_securedMessage
.
protocolVersion
:=
p_protocolVersion
;
// Alter psid
if
(
p_alter_psid
==
true
)
{
p_securedMessage
.
content
.
signedData
.
tbsData
.
headerInfo
.
psid
:=
99
;
}
// Add generationLocation
if
(
p_add_generation_location
==
true
)
{
p_securedMessage
.
content
.
signedData
.
tbsData
.
headerInfo
.
generationLocation
:=
valueof
(
m_threeDLocation
(
PX_WGSLATITUDE
,
PX_WGSLONGITUDE
,
0
));
}
if
(
p_add_expiry_time
==
true
)
{
p_securedMessage
.
content
.
signedData
.
tbsData
.
headerInfo
.
expiryTime
:=
f_getCurrentTimeUtc
()
+
3600
;
}
if
(
p_add_p2pcd_learning_request
==
true
)
{
//TODO
}
if
(
p_add_missing_crl_identifier
==
true
)
{
//TODO
}
if
(
p_add_encryption_key
==
true
)
{
//TODO
}
return
f_buildGnSecuredMessage
(
p_securedMessage
,
p_certificateName
,
p_payloadField
);
/*if (p_alterATCertificateSignature == true) {
...
...
ttcn/Security/LibItsSecurity_Pixits.ttcn
View file @
5d8bcbab
...
...
@@ -36,6 +36,12 @@ module LibItsSecurity_Pixits {
*/
modulepar
charstring
PX_IUT_DEFAULT_CERTIFICATE
:=
"CERT_IUT_A_AT"
;
/**
* @desc The certficate the IUT should use. Default: CERT_TS_B_AT
* @remark Possible values: CERT_TS_C_AT, CERT_TS_D_AT, or CERT_TS_E_AT
*/
modulepar
charstring
PX_AT_CERTIFICATE
:=
"CERT_TS_B_AT"
;
/**
* @desc ITS-AID value for other profile. Default: 38
*/
...
...
@@ -44,7 +50,7 @@ module LibItsSecurity_Pixits {
/**
* @desc Invalid protocol version. Default: 3
*/
modulepar
UInt8
PX_WRONG_PROTOCOL_VERSION
:=
3
;
modulepar
UInt8
PX_WRONG_PROTOCOL_VERSION
:=
4
;
/**
* @desc Invalid WGS longitude
...
...
ttcn/Security/LibItsSecurity_TypesAndValues.ttcn
View file @
5d8bcbab
...
...
@@ -37,6 +37,7 @@ module LibItsSecurity_TypesAndValues {
const
charstring
cc_taCert_B
:=
"CERT_TS_B_AT"
;
/** Default certificate, with circular region, to be used when secured messages are sent from TA to IUT */
const
charstring
cc_taCert_B1
:=
"CERT_TS_B_1_AT"
;
const
charstring
cc_taCert_B_AA
:=
"CERT_TS_B_1_AA"
;
const
charstring
cc_taCert_A_B
:=
"CERT_TS_A_B_AT"
;
const
charstring
cc_taCert_C
:=
"CERT_TS_C_AT"
;
/** Certificate with a rectangular region, to be used when secured messages are sent from TA to IUT */
const
charstring
cc_taCert_C1
:=
"CERT_TS_C1_AT"
;
/** Certificate with a rectangular region, to be used when secured messages are sent from TA to IUT */
const
charstring
cc_taCert_CA1
:=
"CERT_TS_CA1_AT"
;
/** Certificate with a rectangular region, to be used when secured messages are sent from TA to IUT */
...
...
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