Esempio n. 1
0
func SerializeKeys(entity *openpgp.Entity) (privKeyArmor, pubKeyArmor string, err error) {
	// First serialize the private parts.
	// NOTE: need to call this in order to initialize the newly created entities,
	// otherwise entity.Serialize() will fail
	// https://code.google.com/p/go/issues/detail?id=6483
	b := bytes.NewBuffer(nil)
	w, _ := armor.Encode(b, openpgp.PrivateKeyType, nil)
	err = entity.SerializePrivate(w, nil)
	if err != nil {
		return "", "", err
	}
	w.Close()
	privKeyArmor = b.String()

	// Serialize the public key.
	b.Reset()
	w, _ = armor.Encode(b, openpgp.PublicKeyType, nil)
	err = entity.Serialize(w)
	if err != nil {
		return "", "", err
	}
	w.Close()
	pubKeyArmor = b.String()

	return
}
Esempio n. 2
0
func main() {

	//openpgp.NewEntity("bussiere", "test", "*****@*****.**", nil)

	var entity *openpgp.Entity
	entity, err := openpgp.NewEntity("bussiere", "test", "*****@*****.**", nil)
	if err != nil {

	}

	var (
		buffer bytes.Buffer
	)

	entity.SerializePrivate(&buffer, nil)
	data := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

	fmt.Printf("%q\n", data)

	buffer = bytes.Buffer
	entity.Serialize(&buffer)
	data2 := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

	fmt.Printf("%q\n", data2)

	buffer = bytes.Buffer
	entity.PrivateKey.Serialize(&buffer)
	data3 := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

	fmt.Printf("%q\n", data3)

	buffer = bytes.Buffer
	entity.PrimaryKey.Serialize(&buffer)
	data4 := base64.StdEncoding.EncodeToString([]byte(buffer.String()))

	fmt.Printf("%q\n", data4)

	//fmt.Printf(buffer.String())

	// "xcLYBFFBjX0BB/9iTV9vRbVIEr8g5/K1QOtDhwrn6S7DWkJwz5K64trO0LbBWHzAThjCb3yeZPMwl92ZyeQAKT4LW7gjXNc6YJeq

	//"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"
	//"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"
	//"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"
	//"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"

}
Esempio n. 3
0
//PubEntToAsciiArmor creates ASscii Armor from pubEnt of type openpgp.Entity
func PubEntToAsciiArmor(pubEnt openpgp.Entity) (asciiEntity string, err error) {
	gotWriter := bytes.NewBuffer(nil)
	wr, errEncode := armor.Encode(gotWriter, openpgp.PublicKeyType, nil)
	if errEncode != nil {
		//		fmt.Println("Encoding Armor ", errEncode.Error())
		err = errEncode
		return
	}
	errSerial := pubEnt.Serialize(wr)
	if errSerial != nil {
		//		fmt.Println("Serializing PubKey ", errSerial.Error())
	}
	errClosing := wr.Close()
	if errClosing != nil {
		//		fmt.Println("Closing writer ", errClosing.Error())
	}
	asciiEntity = gotWriter.String()
	return
}
Esempio n. 4
0
func AddPublicKey(e *openpgp.Entity) error {
	return serializeKey(e, publicKeyringFilename, func(w io.Writer) error {
		return e.Serialize(w)
	})
}
Esempio n. 5
0
func addSecretKey(e *openpgp.Entity) error {
	return serializeKey(e, secretKeyringFilename, func(w io.Writer) error {
		return e.SerializePrivate(w, nil)
	})
}
Esempio n. 6
0
func ArmorSecretKey(e *openpgp.Entity) (string, error) {
	return exportArmoredKey(e, secretKeyArmorHeader, func(w io.Writer) error {
		return e.SerializePrivate(w, nil)
	})
}
Esempio n. 7
0
func ArmorPublicKey(e *openpgp.Entity) (string, error) {
	return exportArmoredKey(e, publicKeyArmorHeader, func(w io.Writer) error {
		return e.Serialize(w)
	})
}