本文整理汇总了Java中com.subgraph.orchid.DirectoryServer类的典型用法代码示例。如果您正苦于以下问题:Java DirectoryServer类的具体用法?Java DirectoryServer怎么用?Java DirectoryServer使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DirectoryServer类属于com.subgraph.orchid包,在下文中一共展示了DirectoryServer类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: verifySignatureForTrustedAuthority
import com.subgraph.orchid.DirectoryServer; //导入依赖的package包/类
private SignatureStatus verifySignatureForTrustedAuthority(DirectoryServer trustedAuthority, DirectorySignature signature) {
final KeyCertificate certificate = trustedAuthority.getCertificateByFingerprint(signature.getSigningKeyDigest());
if(certificate == null) {
logger.fine("Missing certificate for signing key: "+ signature.getSigningKeyDigest());
addRequiredCertificateForSignature(signature);
return SignatureStatus.STATUS_NEED_CERTS;
}
if(certificate.isExpired()) {
return SignatureStatus.STATUS_FAILED;
}
final TorPublicKey signingKey = certificate.getAuthoritySigningKey();
final HexDigest d = (signature.useSha256()) ? signingHash256 : signingHash;
if(!signingKey.verifySignature(signature.getSignature(), d)) {
logger.warning("Signature failed on consensus for signing key: "+ signature.getSigningKeyDigest());
return SignatureStatus.STATUS_FAILED;
}
return SignatureStatus.STATUS_VERIFIED;
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:20,代码来源:ConsensusDocumentImpl.java
示例2: addCertificate
import com.subgraph.orchid.DirectoryServer; //导入依赖的package包/类
public void addCertificate(KeyCertificate certificate) {
synchronized(TrustedAuthorities.getInstance()) {
final boolean wasRequired = removeRequiredCertificate(certificate);
final DirectoryServer as = TrustedAuthorities.getInstance().getAuthorityServerByIdentity(certificate.getAuthorityFingerprint());
if(as == null) {
logger.warning("Certificate read for unknown directory authority with identity: "+ certificate.getAuthorityFingerprint());
return;
}
as.addCertificate(certificate);
if(consensusWaitingForCertificates != null && wasRequired) {
switch(consensusWaitingForCertificates.verifySignatures()) {
case STATUS_FAILED:
consensusWaitingForCertificates = null;
return;
case STATUS_VERIFIED:
addConsensusDocument(consensusWaitingForCertificates, false);
consensusWaitingForCertificates = null;
return;
case STATUS_NEED_CERTS:
requiredCertificates.addAll(consensusWaitingForCertificates.getRequiredCertificates());
return;
}
}
}
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:30,代码来源:DirectoryImpl.java
示例3: storeCertificates
import com.subgraph.orchid.DirectoryServer; //导入依赖的package包/类
public void storeCertificates() {
synchronized(TrustedAuthorities.getInstance()) {
final List<KeyCertificate> certs = new ArrayList<KeyCertificate>();
for(DirectoryServer ds: TrustedAuthorities.getInstance().getAuthorityServers()) {
certs.addAll(ds.getCertificates());
}
store.writeDocumentList(CacheFile.CERTIFICATES, certs);
}
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:10,代码来源:DirectoryImpl.java
示例4: countV3Servers
import com.subgraph.orchid.DirectoryServer; //导入依赖的package包/类
private int countV3Servers() {
int n = 0;
for(DirectoryServer ds: directoryServers) {
if(ds.getV3Identity() != null) {
n += 1;
}
}
return n;
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:10,代码来源:TrustedAuthorities.java
示例5: getAuthorityServerByIdentity
import com.subgraph.orchid.DirectoryServer; //导入依赖的package包/类
public DirectoryServer getAuthorityServerByIdentity(HexDigest identity) {
for(DirectoryServer ds: directoryServers) {
if(identity.equals(ds.getV3Identity())) {
return ds;
}
}
return null;
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:9,代码来源:TrustedAuthorities.java
示例6: verifySingleAuthority
import com.subgraph.orchid.DirectoryServer; //导入依赖的package包/类
private SignatureStatus verifySingleAuthority(VoteAuthorityEntry authority) {
boolean certsNeeded = false;
boolean validSignature = false;
for(DirectorySignature s: authority.getSignatures()) {
DirectoryServer trusted = TrustedAuthorities.getInstance().getAuthorityServerByIdentity(s.getIdentityDigest());
if(trusted == null) {
logger.warning("Consensus signed by unrecognized directory authority: "+ s.getIdentityDigest());
return SignatureStatus.STATUS_FAILED;
} else {
switch(verifySignatureForTrustedAuthority(trusted, s)) {
case STATUS_NEED_CERTS:
certsNeeded = true;
break;
case STATUS_VERIFIED:
validSignature = true;
break;
default:
break;
}
}
}
if(validSignature) {
return SignatureStatus.STATUS_VERIFIED;
} else if(certsNeeded) {
return SignatureStatus.STATUS_NEED_CERTS;
} else {
return SignatureStatus.STATUS_FAILED;
}
}
开发者ID:HashEngineering,项目名称:namecoinj,代码行数:33,代码来源:ConsensusDocumentImpl.java
注:本文中的com.subgraph.orchid.DirectoryServer类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论