Commit 8a75f3de authored by fetke's avatar fetke
Browse files

codec development; compiles but many functions still contain stubs.

parent 7448e437
Loading
Loading
Loading
Loading
+105 −52
Original line number Diff line number Diff line
@@ -417,7 +417,7 @@ module ePassport_Types {
					RawPayload rawPayload
				} with {
					variant
					"use=com.testingtech.ttcn.tci.helper.EPassportCodecHelper;encode=EPassportCodecHelper.encodeReadBinaryWithOffsetDataObjectPayload();decode=EPassportCodecHelper.decodeReadBinaryWithOffsetDataObjectPayload();"
					"use=com.testingtech.ttcn.tci.helper.EPassportCodecHelper;encode=EPassportCodecHelper.encodeGetChallengePayload();decode=EPassportCodecHelper.decodeGetChallengePayload();"
				}

				type record GetChallengeData {
@@ -639,154 +639,207 @@ module ePassport_Types {
				} // end TlvConstants

				type Oct1 TlvType;
				type integer TlvLength;
				type integer TlvLength with variant "length=32";
				// ^^^ TODO: find out length of TlvLength

				type record CrtCryptographicMechanismReference {
					TlvType tlvType(c_crtCryptographicMechanismReference),
					TlvType tlvType(c_crtCryptographicMechanismReference), // 0x80
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x80
				} with {
				    variant "present=bytes(0,0x80)"
				    // TODO: length of tlvValue? (also all others below!)
				}

				// File and key references
				type record CrtFileReference {
					TlvType tlvType(c_crtFileReference),
					TlvType tlvType(c_crtFileReference),  // 0x81
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x81
				} with {
				    variant "present=bytes(0,0x81)"
				}

				type record CrtDfName {
					TlvType tlvType(c_crtDfName),
					TlvType tlvType(c_crtDfName), // 0x82
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x82
				} with {
				    variant "present=bytes(0,0x82)"
				}

				type record CrtReferenceOfSecretOrPublicKey {
					TlvType tlvType(c_crtReferenceOfSecretOrPublicKey),
					TlvType tlvType(c_crtReferenceOfSecretOrPublicKey), // 0x83
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x83
				} with {
				    variant "present=bytes(0,0x83)"
				}

				type record CrtReferenceOfSessionOrPrivateKey {
					TlvType tlvType(c_crtReferenceOfSessionOrPrivateKey),
					TlvType tlvType(c_crtReferenceOfSessionOrPrivateKey), // 0x84
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x84
				} with {
				    variant "present=bytes(0,0x84)"
				}

				type record CrtKeyUsageTemplate {
					TlvType tlvType(c_crtKeyUsageTemplate),
					TlvType tlvType(c_crtKeyUsageTemplate), // 0xA3
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0xA3
				} with {
				    variant "present=bytes(0,0xA3)"
				}

				// Initial data reference: Initial check block
				type record CrtIcbNullBlock {
					TlvType tlvType(c_crtIcbNullBlock),
					TlvType tlvType(c_crtIcbNullBlock), // 0x85
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x85
				} with {
				    variant "present=bytes(0,0x85)"
				}

				type record CrtIcbChainingBlock {
					TlvType tlvType(c_crtIcbChainingBlock),
					TlvType tlvType(c_crtIcbChainingBlock), // 0x86
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x86
				} with {
				    variant "present=bytes(0,0x86)"
				}

				type record CrtIcbPreviousInitialValueBlockPlusOne {
					TlvType tlvType(c_crtIcbPreviousInitialValueBlockPlusOne),
					TlvType tlvType(c_crtIcbPreviousInitialValueBlockPlusOne), // 0x87 L=0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x87 L=0
				} with {
				    variant "present=bytes(0,0x87)&&bytes(1,4,0x00000000)"
				}

				type record CrtIcbInitialValueBlock {
					TlvType tlvType(c_crtIcbInitialValueBlock),
					TlvType tlvType(c_crtIcbInitialValueBlock), // 0x87 L>0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x87 L>0
				} with {
					variant "present=bytes(0,0x87)&&!bytes(1,4,0x00000000)"
				}

				// Initial data reference: auxiliary data elements
				type record CrtAuxPreviousExchangedChallengePlusOne {
					TlvType tlvType(c_crtAuxPreviousExchangedChallengePlusOne),
					TlvType tlvType(c_crtAuxPreviousExchangedChallengePlusOne), // 0x88 L=0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x88 L=0
				} with {
				    variant "present=bytes(0,0x88)&&bytes(1,4,0x00000000)"
				}

				type record CrtAuxNoFurtherIndication {
					TlvType tlvType(c_crtAuxNoFurtherIndication),
					TlvType tlvType(c_crtAuxNoFurtherIndication), // 0x88 L>0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x88 L>0
				} with {
				    variant "present=bytes(0,0x88)&&!bytes(1,4,0x00000000)"
				}

				type record CrtAuxIndexOfProprietaryDataElement {
					TlvType tlvType,
					TlvType tlvType, // 0x89 -> 0x8D L=0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x89 -> 0x8D L=0
				} with {
				    // TODO: chech that this is meant by 0x89 -> 0x8D
				    variant "present=(bytes(0,0x89)||bytes(0,0x8a)||bytes(0,0x8b)||bytes(0,0x8c)||bytes(0,0x8d))&&bytes(1,4,0x00000000)"
				}

				type record CrtAuxValueOfProprietaryDataElement {
					TlvType tlvType,
					TlvType tlvType, // 0x89 -> 0x8D L>0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x89 -> 0x8D L>0
				} with {
				    // TODO: check that this is meant by 0x89 -> 0x8D
				    variant "present=(bytes(0,0x89)||bytes(0,0x8a)||bytes(0,0x8b)||bytes(0,0x8c)||bytes(0,0x8d))&&!bytes(1,4,0x00000000)"
				}

				type record CrtAuxHashCodeProvidedByCard {
					TlvType tlvType(c_crtAuxHashCodeProvidedByCard),
					TlvType tlvType(c_crtAuxHashCodeProvidedByCard), // 0x90 L=0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x90 L=0
				} with {
				    // TODO: what about 0x90 L>0 ??
				    variant "present=bytes(0,0x90)&&bytes(1,4,0x00000000)"
				}

				type record CrtAuxRandomNumberProvidedByCard {
					TlvType tlvType(c_crtAuxRandomNumberProvidedByCard),
					TlvType tlvType(c_crtAuxRandomNumberProvidedByCard), // 0x91 L=0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x91 L=0
				} with {
				    variant "present=bytes(0,0x91)&&bytes(1,4,0x00000000)"
				}

				type record CrtAuxRandomNumber {
					TlvType tlvType(c_crtAuxRandomNumber),
					TlvType tlvType(c_crtAuxRandomNumber), // 0x91 L>0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x91 L>0
				} with {
				    variant "present=bytes(0,0x91)&&!bytes(1,4,0x00000000)"
				}

				type record CrtAuxTimestampProvidedByCard {
					TlvType tlvType(c_crtAuxTimestampProvidedByCard),
					TlvType tlvType(c_crtAuxTimestampProvidedByCard), // 0x92 L=0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x92 L=0
				} with {
				    variant "present=bytes(0,0x92)&&!bytes(1,4,0x00000000)"
				}

				type record CrtAuxTimestamp {
					TlvType tlvType(c_crtAuxTimestamp),
					TlvType tlvType(c_crtAuxTimestamp), // 0x92 L>0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x92 L>0
				} with {
				    variant "present=bytes(0,0x92)&&!bytes(1,4,0x00000000)"
				}

				type record CrtAuxPreviousDigitalSignatureCounterPlusOne {
					TlvType tlvType(c_crtAuxPreviousDigitalSignatureCounterPlusOne),
					TlvType tlvType(c_crtAuxPreviousDigitalSignatureCounterPlusOne), // 0x93 L=0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x93 L=0
				} with {
				    variant "present=bytes(0,0x93)&&bytes(1,4,0x00000000)"
				}

				type record CrtAuxDigitalSignatureCounter {
					TlvType tlvType(c_crtAuxDigitalSignatureCounter),
					TlvType tlvType(c_crtAuxDigitalSignatureCounter), // 0x93 L>0
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x93 L>0
				} with {
				    variant "present=bytes(0,0x93)&&!bytes(1,4,0x00000000)"
				}

				type record CrtAuxChallengeOrDataElementForDerivingKey {
					TlvType tlvType(c_crtAuxChallengeOrDataElementForDerivingKey),
					TlvType tlvType(c_crtAuxChallengeOrDataElementForDerivingKey), // 0x94
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x94
				} with {
				    variant "present=bytes(0,0x94)"
				}

				type record CrtUsageQualifierByte {
					TlvType tlvType(c_rtUsageQualifierByte),
					TlvType tlvType(c_rtUsageQualifierByte), // 0x95
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x95
				} with {
				    variant "present=bytes(0,0x95)"
				}

				type record CrtCryptogramContentReference {
					TlvType tlvType(c_rtCryptogramContentReference),
					TlvType tlvType(c_rtCryptogramContentReference), // 0x8E
					TlvLength tlvLength,
					octetstring tlvValue
				} // 0x8E
				} with {
				    variant "present=bytes(0,0x8e)"
				}

			} // end DataObjects