示例#1
0
// ReadBuffer reads the public key from a buffer.
func (p *PublicKey) ReadBuffer(b *buffer.Buffer) error {

	t := b.ScanString()
	e := b.ScanMPInt()
	n := b.ScanMPInt()

	if t != PUBLIC_KEY_TYPE {
		return ErrPublicKeyFormat
	}

	if e.Cmp(big.NewInt(EXPONENT)) != 0 {
		return ErrPublicKeyFormat
	}

	p.E = EXPONENT
	p.N = n

	return nil
}