
@startuml

'' header information
header
<font color="red">Cable<b>Labs</b></font>
endheader

'' Use this to hide the foot boxes
hide footbox

skinparam sequenceMessageAlign center
skinparam NoteBorderColor black
'' skinparam BackgroundColor #ddd

skinparam sequence {
	borderColor black
	ArrowColor black
	ActorBorderColor black
	ParticipantBorderColor black
	LifeLineBorderColor black
	LifeLineBackgroundColor white
}

'' Participants Declaration
Participant "EAP Peer" as P #eee
Participant "EAP Server" as S #eee

autonumber 1 "[##]"

S->P: EAP-Request/EAP-CREDS(Type=Provisioning)\n    { Protocol(=SPP), Action(=Register), ProvParam(=Cert),\n      ProtoData(=CredsData, [CertData+]) }
note right: The Server generates\nthe keypair and cert\nand sends it to the Peer

P->S: EAP-Response/EAP-CREDS(Type=Provisioning)\n    { << Empty >> }
note left: In case of errors,\nthe Error TLV is\nadded to the\nmessage

'' S->P: EAP-Request/EAP-CREDS(Type=Provisioning)\n    { [ ProtoData(=Cert) ], [ CertData+ ] }
'' note right: Provides the\nchain of\ncerts up to\nthe root (included)

'' P->S: EAP-Response/EAP-CREDS(Type=Provisioning)\n    { << Empty Body >> }
'' note right: Phase Two\nEnds


@enduml
