Ich habe folgende ASN1 structure definieren golangkann nicht korrekt struct für Asn Decodierung in golang
SEQUENCE(2 elem)
SEQUENCE(2 elem)
OBJECT IDENTIFIER1.2.840.113549.1.1.1
NULL
BIT STRING(1 elem)
SEQUENCE(2 elem)
INTEGER(2048 bit) 20832…
INTEGER 65537
zu dekodieren unter Verwendung von und I die folgende struct bin mit der decodierten Daten zu speichern:
type OidAndNullSET struct {
OID asn1.ObjectIdentifier
Null asn1.RawValue
}
type Seq struct {
Set OidAndNullSET
BitStr asn1.BitString
}
func main() {
mdata2 := []byte("MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhxW+fVIU3KiVWyHy5RZ6jMQrXbrpUNOrz8V29qhZ98G53o6yKeUc2dOXC/dX2w8lEXjf+Hys9BLAJJZc6dlV1vrVZM5C9fvCAMHlAcMW2AADLuG+SruM6URBedSAxMFVwAzsSApLEQSlfGyMvjT+UOrHEjBUMn4+IPiLW2G0o1pHxCkrUxub/RWpl5qO7BbuEQj4flbUGpOpFW+XOuYu78MRmEvl/E9SX8b04RrXZTxPMAqxAl/zRA7VgIVzwtcm6xjzFw8kvr7H4B/zb7Jvl32FhniXMOrPfSGI2xhrr92DTOaPXuPFH2DywbNj/O21fenykWYsB/bA8vH7/EmQdwIDAQAB")
var n Seq
_, err1 := asn1.Unmarshal(mdata2, &n)
checkError(err1)
fmt.Println("After unmarshal: ", n)
}
func checkError(err error) {
if err != nil {
fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error())
os.Exit(1)
}
}
I kann keine geeignete Struktur finden, um eine SEQUENCE * zu speichern und den folgenden Fehler zu erhalten
Beliebige th oughts?
Ich weiß nicht Golang. Ich schätze der Fehler sagt Ihnen, dass es ein [APPLICATION 13] -Tag gefunden hat ?? Aber solche Daten sind in Ihren Daten nicht enthalten. Was zu meiner nächsten Frage führt - wenn Sie mdata2 zuweisen, wird diese Zeichenfolge als base64 interpretiert, oder werden die Zeichen gemäß beispielsweise UTF-8 in Bytes konvertiert? Das könnte dein Problem sein. – Kevin