本文整理汇总了Golang中github.com/FactomProject/FactomCode/common.AdminBlock.GetDBSignature方法的典型用法代码示例。如果您正苦于以下问题:Golang AdminBlock.GetDBSignature方法的具体用法?Golang AdminBlock.GetDBSignature怎么用?Golang AdminBlock.GetDBSignature使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/FactomProject/FactomCode/common.AdminBlock
的用法示例。
在下文中一共展示了AdminBlock.GetDBSignature方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: validateDBSignature
func validateDBSignature(aBlock *common.AdminBlock, dchain *common.DChain) bool {
dbSigEntry := aBlock.GetDBSignature()
if dbSigEntry == nil {
if aBlock.Header.DBHeight == 0 {
return true
} else {
return false
}
} else {
dbSig := dbSigEntry.(*common.DBSignatureEntry)
if serverPubKey.String() != dbSig.PubKey.String() {
return false
} else {
// obtain the previous directory block
dblk := dchain.Blocks[aBlock.Header.DBHeight-1]
if dblk == nil {
return false
} else {
// validatet the signature
bHeader, _ := dblk.Header.MarshalBinary()
if !serverPubKey.Verify(bHeader, (*[64]byte)(dbSig.PrevDBSig)) {
procLog.Infof("No valid signature found in Admin Block = %s\n", spew.Sdump(aBlock))
return false
}
}
}
}
return true
}