• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang liftca.Store类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/jeanfric/liftca.Store的典型用法代码示例。如果您正苦于以下问题:Golang Store类的具体用法?Golang Store怎么用?Golang Store使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Store类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: GetCA

func GetCA(store *liftca.Store, r *ht.Request) *ht.Answer {
	ca, answer := ObtainCA(store, r)
	if answer != nil {
		return answer
	}
	auth, _ := store.Get(ca.SerialNumber())
	return ht.JSONDocument(*JSONCAResponseFromParcel(auth))
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:8,代码来源:ca_handlers.go


示例2: DeleteCRL

func DeleteCRL(store *liftca.Store, r *ht.Request) *ht.Answer {
	_, cert, answer := ObtainCAAndCert(store, r)
	if answer != nil {
		return answer
	}
	store.SetRevoked(cert.SerialNumber(), false)
	return ht.NoContent()
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:8,代码来源:ca_handlers.go


示例3: GetCAs

func GetCAs(store *liftca.Store, r *ht.Request) *ht.Answer {
	response := make([]JSONCAResponse, 0)
	for _, s := range store.GetCAs() {
		auth, _ := store.Get(s)
		if auth.Visible {
			response = append(response, *JSONCAResponseFromParcel(auth))
		}
	}
	return ht.JSONDocument(response)
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:10,代码来源:ca_handlers.go


示例4: GetCACRLPEMTXT

func GetCACRLPEMTXT(store *liftca.Store, r *ht.Request) *ht.Answer {
	ca, answer := ObtainCA(store, r)
	if answer != nil {
		return answer
	}
	revoked := store.GetRevokedChildren(ca.SerialNumber())
	crl, err := ca.PEMCRL(revoked)
	if err != nil {
		return ht.Failure(err)
	}
	return ht.Read("text/plain", crl)
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:12,代码来源:ca_handlers.go


示例5: GetCACRLCER

func GetCACRLCER(store *liftca.Store, r *ht.Request) *ht.Answer {
	ca, answer := ObtainCA(store, r)
	if answer != nil {
		return answer
	}
	revoked := store.GetRevokedChildren(ca.SerialNumber())
	crl, err := ca.DERCRL(revoked)
	if err != nil {
		return ht.Failure(err)
	}
	return ht.Read("application/pkix-crl", crl)
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:12,代码来源:ca_handlers.go


示例6: GetCerts

func GetCerts(store *liftca.Store, r *ht.Request) *ht.Answer {
	ca, answer := ObtainCA(store, r)
	if answer != nil {
		return answer
	}
	children, _ := store.GetChildren(ca.SerialNumber())
	response := make([]JSONCertResponse, 0)
	for _, s := range children {
		cert, _ := store.Get(s)
		response = append(response, *JSONCertResponseFromParcel(ca.SerialNumber(), cert))
	}
	return ht.JSONDocument(response)
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:13,代码来源:cert_handlers.go


示例7: GetCRL

func GetCRL(store *liftca.Store, r *ht.Request) *ht.Answer {
	ca, answer := ObtainCA(store, r)
	if answer != nil {
		return answer
	}
	revoked := store.GetRevokedChildren(ca.SerialNumber())
	output := make([]string, len(revoked))
	for i, e := range revoked {
		output[i] = strconv.FormatInt(e, 10)
	}

	return ht.JSONDocument(&JSONCRLResponse{
		Self:          CACRLURL(ca.SerialNumber()),
		SerialNumbers: output,
	})
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:16,代码来源:ca_handlers.go


示例8: ObtainCA

func ObtainCA(store *liftca.Store, r *ht.Request) (*liftca.Parcel, *ht.Answer) {
	caID, err := r.VarInt64("ca_id")
	if err != nil {
		return nil, ht.Failure(err)
	}
	auth, found := store.Get(caID)
	if !found {
		return nil, ht.NotFound()
	}

	if _, found := store.GetParent(caID); found {
		return nil, ht.NotFound()
	}

	return auth, nil
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:16,代码来源:support.go


示例9: PostCert

func PostCert(store *liftca.Store, r *ht.Request) *ht.Answer {
	ca, answer := ObtainCA(store, r)
	if answer != nil {
		return answer
	}
	certReq := &JSONCertRequest{}
	err := r.BodyAsJSON(certReq)
	if err != nil {
		return ht.Failure(err)
	}
	id, err := store.Add(true, ca.SerialNumber(), certReq.Host)
	if err != nil {
		return ht.Failure(err)
	}
	return ht.RedirectTo(CertUrl(ca.SerialNumber(), id))
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:16,代码来源:cert_handlers.go


示例10: PostCRL

func PostCRL(store *liftca.Store, r *ht.Request) *ht.Answer {
	req := &JSONCRLRequest{}
	r.BodyAsJSON(req)
	certID, err := strconv.ParseInt(req.SerialNumber, 10, 64)
	if err != nil {
		return ht.Failure(err)
	}
	ca, answer := ObtainCA(store, r)
	if answer != nil {
		return answer
	}
	if p, _ := store.GetParent(certID); p != ca.SerialNumber() {
		return ht.Failure(fmt.Errorf("certificate %v does not belong to CA %v", certID, ca.SerialNumber()))
	}
	store.SetRevoked(certID, true)
	return ht.RedirectTo(CACRLURL(ca.SerialNumber()))
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:17,代码来源:ca_handlers.go


示例11: PostCA

func PostCA(store *liftca.Store, r *ht.Request) *ht.Answer {
	caReq := &JSONCARequest{}
	err := r.BodyAsJSON(caReq)
	if err != nil {
		return ht.Failure(err)
	}
	var id int64
	if caReq.PEMCertificate != "" || caReq.PEMKey != "" || caReq.PEMKeyPassword != "" {
		id, err = store.AddExistingCA(caReq.Visible, []byte(caReq.PEMCertificate), []byte(caReq.PEMKey), []byte(caReq.PEMKeyPassword))
	} else {
		id, err = store.AddCA(caReq.Visible, caReq.Name)
	}

	if err != nil {
		return ht.Failure(err)
	}
	return ht.RedirectTo(CAUrl(id))
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:18,代码来源:ca_handlers.go


示例12: ObtainCAAndCert

func ObtainCAAndCert(store *liftca.Store, r *ht.Request) (*liftca.Parcel, *liftca.Parcel, *ht.Answer) {
	ca, answer := ObtainCA(store, r)
	if answer != nil {
		return nil, nil, answer
	}

	certID, err := r.VarInt64("cert_id")
	if err != nil {
		return nil, nil, ht.Failure(err)
	}
	cert, found := store.Get(certID)
	if !found {
		return nil, nil, ht.NotFound()
	}
	parent, _ := store.GetParent(certID)
	if parent != ca.SerialNumber() {
		return nil, nil, ht.Failure(fmt.Errorf("certificate %v does not belong to CA %v", certID, ca.SerialNumber()))
	}

	return ca, cert, nil
}
开发者ID:jeanfric,项目名称:liftCA,代码行数:21,代码来源:support.go



注:本文中的github.com/jeanfric/liftca.Store类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang gabs.ParseJSON函数代码示例发布时间:2022-05-23
下一篇:
Golang lfs.PathExists函数代码示例发布时间:2022-05-23
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap