1## Introduce
2
3This package code is derived from github.com/AGWA-forks/golang-crypto , and moved to be a independent package for PKCS12 encode and decode!
4
5## Demo
6
7```go
8package main
9
10import (
11	"io/ioutil"
12	"log"
13	"strconv"
14
15	"github.com/lotus-wu/go-pkcs12"
16)
17
18func main() {
19	pfxData, _ := ioutil.ReadFile("a.p12")
20	pv, cer, err := pkcs12.DecodeAll(pfxData, "123456")
21	if err != nil {
22		log.Println(err)
23		return
24	}
25	log.Println(pv)
26	log.Println(cer)
27
28	id := int64(0)
29	for _, v := range cer {
30		filename := "test" + strconv.FormatInt(id, 10) + ".cer"
31		ioutil.WriteFile(filename, v.Raw, 0666)
32		id += 1
33	}
34
35	pfxDataNew, _ := pkcs12.Encode(pv, cer[0], cer[1:], "123456")
36	ioutil.WriteFile("1.p12", pfxDataNew, 0666)
37}
38```
39
40