Я хочу добавить к сертификату X509 расширение id-ce-targettingInformation с несколькими строками, идентифицирующими целевые объекты сертификата. Эта строка представляет идентификаторы целей. Я нашел OID расширения {2, 5, 29, 55} Согласно spe c он имеет следующий формат:
targetingInformation EXTENSION ::= {
SYNTAX SEQUENCE SIZE (1..MAX) OF Targets
IDENTIFIED BY id-ce-targetingInformation }
Targets ::= SEQUENCE SIZE (1..MAX) OF Target
Target ::= CHOICE {
targetName [0] GeneralName,
targetGroup [1] GeneralName,
targetCert [2] TargetCert,
}
Я добавляю расширение таким образом
targets := []string{"targetID1", "targetID2"}
asn1Bytes, err := asn1.Marshal(targets)
extraExtensions:=[]pkix.Extension{
pkix.Extension{
Id: asn1.ObjectIdentifier{2, 5, 29, 55},
Critical: true,
Value: asn1Bytes,
},
}
Но я чувствую, что поле Value должно быть маршалировано по-другому. Как правильно (согласно спец. c) генерировать значение поля расширения?