// Copyright 2014 ISRG. All rights reserved // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. package core import ( "github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/letsencrypt/go-jose" ) func newChallenge(challengeType string, accountKey *jose.JsonWebKey) Challenge { return Challenge{ Type: challengeType, Status: StatusPending, AccountKey: accountKey, Token: NewToken(), } } // SimpleHTTPChallenge constructs a random HTTP challenge // TODO(https://github.com/letsencrypt/boulder/issues/894): Delete this method func SimpleHTTPChallenge(accountKey *jose.JsonWebKey) Challenge { challenge := newChallenge(ChallengeTypeSimpleHTTP, accountKey) tls := true challenge.TLS = &tls return challenge } // DvsniChallenge constructs a random DVSNI challenge // TODO(https://github.com/letsencrypt/boulder/issues/894): Delete this method func DvsniChallenge(accountKey *jose.JsonWebKey) Challenge { return newChallenge(ChallengeTypeDVSNI, accountKey) } // HTTPChallenge01 constructs a random http-01 challenge func HTTPChallenge01(accountKey *jose.JsonWebKey) Challenge { return newChallenge(ChallengeTypeHTTP01, accountKey) } // TLSSNIChallenge01 constructs a random tls-sni-00 challenge func TLSSNIChallenge01(accountKey *jose.JsonWebKey) Challenge { return newChallenge(ChallengeTypeTLSSNI01, accountKey) } // DNSChallenge01 constructs a random DNS challenge func DNSChallenge01(accountKey *jose.JsonWebKey) Challenge { return newChallenge(ChallengeTypeDNS01, accountKey) }