Open ashishmeher216 opened 5 months ago
What OS are running the SCEP server on? You may want to try mysqlscepserver. We don't have a way to try the BoltDB backend with the stand-alone server. I'll see if I can find some time to test this. Also you can give step-ca a try.
Hey @jessepeterson, thanks for the quick reply. I am running the SCEP server on windows for testing purpose.
You can test this by connecting nanomdm with this SCEP server and then enrolling more than one device.
Sure, I will try the two scep servers you mentioned.
Ah, Windows. Yes there may be a bug where we did not account for Windows file locking semantics in the storage backend. Linux doesn't have this issue afaik.
Haha, i know right. Will check it once on linux.
This is working on linux machine. I also tested mysqlscepserve and it is working. Thanks.
I am getting the error: remove depot\serial: The process cannot access the file because it is being used by another process.
Is anyone else also facing the same? I read some other issue about data races and it is fixed. https://github.com/micromdm/scep/pull/185
From my analysis, the error seems to originate from from writeSerial() function defined in depot/file/depot.go.
func (d fileDepot) writeSerial(serial big.Int) error { if err := os.MkdirAll(d.dirPath, 0755); err != nil { fmt.Println("π ~ file: depot.go:314 ~ iferr:=os.MkdirAll ~ err:", err) return err } name := d.path("serial") fmt.Println("π ~ file: depot.go:318 ~ func ~ name:", name) // depot/serial err := os.Remove(name) fmt.Println("π ~ file: depot.go:332 ~ func ~ Remove: Removing serial file") fmt.Println("π ~ file: depot.go:319 ~ func ~ err:", err) // getting error here
}