Пока у меня есть:
key, err := ecdsa.GenerateKey(elliptic.P521(), rand.Reader)
if err != nil {
os.Exit(-1)
}
marshalled, err := x509.MarshalECPrivateKey(key) // marshalls data to byte stream
if err != nil {
os.Exit(-1)
}
По сути, у меня возникают проблемы с тем, что когда генерируется пара ключей, она сохраняется в *ecdsa.PrivateKey
, воткрытый ключ которого хранится в *ecdsa.PrivateKey.PublicKey
, и когда я собираю данные пары ключей (сохраненные в *ecdsa.PrivateKey
), используя x509.MarshalECPrivateKey(key)
, возвращается один байт.Поэтому у меня возникают проблемы с определением того, какие ключи являются открытыми и закрытыми в самом срезе байтов.