本文整理汇总了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;未经允许,请勿转载。 |
请发表评论