42 lines
739 B
Go
42 lines
739 B
Go
|
|
package gpgx
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
"os"
|
||
|
|
|
||
|
|
"golang.org/x/crypto/openpgp"
|
||
|
|
)
|
||
|
|
|
||
|
|
func Demo() {
|
||
|
|
keyRingReader, err := os.Open("signer-pubkey.asc")
|
||
|
|
if err != nil {
|
||
|
|
fmt.Println(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
signature, err := os.Open("signature.asc")
|
||
|
|
if err != nil {
|
||
|
|
fmt.Println(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
verification_target, err := os.Open("MysqL-5.7.9-win32.zip")
|
||
|
|
if err != nil {
|
||
|
|
fmt.Println(err)
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
keyring, err := openpgp.ReadArmoredKeyRing(keyRingReader)
|
||
|
|
if err != nil {
|
||
|
|
fmt.Println("Read Armored Key Ring: " + err.Error())
|
||
|
|
return
|
||
|
|
}
|
||
|
|
entity, err := openpgp.CheckArmoredDetachedSignature(keyring, verification_target, signature)
|
||
|
|
if err != nil {
|
||
|
|
fmt.Println("Check Detached Signature: " + err.Error())
|
||
|
|
return
|
||
|
|
}
|
||
|
|
|
||
|
|
fmt.Println(entity)
|
||
|
|
}
|