Q:

Встраиваемые типы

type PrivateKey struct {
    rsa.PrivateKey
}

func GenerateKey() (*PrivateKey) {
    privateKey, err := rsa.GenerateKey(rand.Reader, 2048)
    if err != nil {
        panic(err.Error)
    }
    return privateKey
}

Соответственно возникает ошибка 

cannot use privateKey (type *rsa.PrivateKey) as type *PrivateKey in return argument

Можно ли это исправить, что бы GenerateKey возвращала тип PrivateKey?

A:

Встроенный тип как бы внутри вашего типа. Так что:
var err error
privateKey.PrivateKey, err = rsa.GenerateKey(rand.Reader, 2048)

