func TestConvertDER2PEM(t *testing.T) { derFile := "mp.p7b" pemFile := "mp.pem" err := openssl.ConvertDER2PEM(derFile, pemFile) if err != nil { t.Error(err.Error()) } }
func (c *Archivelink) putCert() { var pis = ParameterInfos{ CONTREP: ParameterInfo{optmand: MANDATORY}, P_VERSION: ParameterInfo{optmand: MANDATORY}, AUTHID: ParameterInfo{optmand: MANDATORY}, } if c.check(PUTCERT, &pis) { contrep := models.Contrep{Name: c.Param(CONTREP)} err := models.Orm.Read(&contrep, "NAme") if err != orm.ErrNoRows { defer c.Ctx.Request.Body.Close() body, err := ioutil.ReadAll(c.Ctx.Request.Body) app.CheckPanic(err) derFile, err := app.CreateTempFile() app.CheckPanic(err) derFile.Write(body) derFile.Close() pemFilename, err := app.CreateTempFilename() app.CheckPanic(err) err = openssl.ConvertDER2PEM(derFile.Name(), pemFilename) app.CheckPanic(err) beego.Debug("read ConvertDER2PEM PEM file") pem, err := ioutil.ReadFile(pemFilename) app.CheckPanic(err) if contrep.IsCertProtected { contrep.ReceivedCert = string(pem) contrep.ReceivedCertDatetime = time.Now() } else { contrep.Cert = string(pem) contrep.CertDatetime = time.Now() } _, err = models.Orm.Update(&contrep) app.CheckPanic(err) } else { c.CustomAbort(406, app.Translate("Unknown Content Repository %s", c.Param(CONTREP))) } } }